private void SetupEncoding(Encoding encoding)
{
if (encoding == null)
{
Debug.Assert(_ps.charPos == 0);
_ps.encoding = Encoding.UTF8;
_ps.decoder = new SafeAsciiDecoder();
}
else
{
_ps.encoding = encoding;
switch (_ps.encoding.WebName)
{ // Encoding.Codepage is not supported in Silverlight
case "utf-16":
_ps.decoder = new UTF16Decoder(false);
break;
case "utf-16BE":
_ps.decoder = new UTF16Decoder(true);
break;
default:
_ps.decoder = encoding.GetDecoder();
break;
}
}
}