Silverlight的ANSI编码实现

| 我需要在Silverlight应用程序中对某些代码页进行编码实现。特别是我需要从zip存档(正在打开的Application.GetResourceStream)中读取非Engligh文件名。 Silverlight仅包含Unicode编码(Encoding.UTF8,Encoding.Unicode,Encoding.BigEndianUnicode)。 Encoding.GetEncoding引发其他编码名称的异常。 但是我需要一些ANSI代码页(特别是866)的Encoding类实现。在台式机上,我可以通过Encoding.GetEncoding(866)来获取它。 在哪里可以获得最简单的实现? ps。我知道这个问题几乎与Silverlight无关,但是我不提它,建议我使用Encoding.GetEncoding。     
已邀请:
在http://en.wikipedia.org/wiki/Code_page_866中,您可以构建地图并将您的内容转换为UTF-8。     
感谢@Bala_R,我得到866代码页并编写:
    private byte[] translateInto866(string fileName)
    {
        const byte startCode1 = 128;        // А, 0410
        const byte startCode2 = 224;        // р, 0440

        var result = new byte[fileName.Length];
        int i = 0;
        foreach (char c in fileName)
        {
            if (c >= \'А\' && c <= \'п\')
            {
                result[i] = (byte)(((byte)(c - \'А\')) + startCode1);
            }
            else if (c > \'п\' && c <= \'я\')
            {
                result[i] = (byte)(((byte)(c - \'р\')) + startCode2);
            }
            else
            {
                result[i] = (byte) c;
            }
            i++;
        }
        return result;
    }
现在我们只需要了解使用什么代码页来编码文件名。我们在清单中有unicode表示,在zip中有一些编码的表示。找到合适的编码应该不是很困难。但就我而言,我只知道如果不是utf8,那就是866。     

要回复问题请先登录注册