public static XmlDictionaryReader CreateJsonReader (byte [] source, int offset, int length, XmlDictionaryReaderQuotas quotas)
{
- return CreateJsonReader (source, offset, length, Detect (source), quotas, null);
+ return CreateJsonReader (source, offset, length, null, quotas, null);
}
public static XmlDictionaryReader CreateJsonReader (byte [] source, int offset, int length, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose readerClose)
public static XmlDictionaryReader CreateJsonReader (Stream source, XmlDictionaryReaderQuotas quotas)
{
- return CreateJsonReader (source, Detect (source), quotas, null);
+ return CreateJsonReader (source, null, quotas, null);
}
public static XmlDictionaryReader CreateJsonReader (Stream source, Encoding encoding, XmlDictionaryReaderQuotas quotas, OnXmlDictionaryReaderClose readerClose)
{
return new JsonWriter (stream, encoding, closeOutput);
}
-
- static Encoding Detect (int b1, int b2)
- {
- if (b1 != -1 && b2 != -1) {
- if (b1 != 0 && b2 == 0)
- return new UnicodeEncoding (false, false, true);
- else if (b1 == 0 && b2 != 0)
- return new UnicodeEncoding (true, false, true);
- }
- return new UTF8Encoding (false, true);
- }
-
- static Encoding Detect (Stream source)
- {
- if (source == null)
- throw new ArgumentNullException ("source");
- Stream stream = source;
- if (!stream.CanSeek)
- stream = new BufferedStream (source);
- Encoding e = Detect (stream.ReadByte(), stream.ReadByte());
- stream.Position = 0;
- return e;
- }
-
- static Encoding Detect (byte[] bytes)
- {
- if (bytes.Length < 2)
- return new UTF8Encoding (false, true);
- return Detect (bytes[0], bytes[1]);
- }
}
}