Silverlight 的 ANSI 编码实现
我需要在我的 Silverlight 应用程序中对某些代码页进行编码实现。特别是我需要从 zip 存档中读取非英语文件名(打开 Application.GetResourceStream)。
Silverlight 仅包含 Unicode 编码(Encoding.UTF8、Encoding.Unicode、Encoding.BigEndianUnicode)。 Encoding.GetEncoding 对于其他编码名称会引发异常。
但我需要一些 ANSI 代码页(特别是 866)的 Encoding 类实现。在桌面上,我可以通过 Encoding.GetEncoding(866) 获取它。
我在哪里可以获得最简单的实现?
ps 我知道这个问题与 Silverlight 几乎没有关系,但如果不提及它,我会建议我使用 Encoding.GetEncoding 我猜..
I need Encoding implementation of some codepage in my Silverlight app. Particularly I need to read non-Engligh file names from zip-archive (being opened Application.GetResourceStream).
Silverlight contains only Unicode encodings (Encoding.UTF8, Encoding.Unicode, Encoding.BigEndianUnicode). Encoding.GetEncoding throws exception for other encoding names.
But I need Encoding class implementation for some ANSI codepage (866 particularly). On desktop I'd get it via Encoding.GetEncoding(866).
Where can I get the simplest implementation?
p.s. I understand that the question hardly relates Silverlight, but without mentioning it I'll be suggested to use Encoding.GetEncoding I guess..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从 http://en.wikipedia.org/wiki/Code_page_866 您可以构建地图并转换你的东西到UTF-8。
From http://en.wikipedia.org/wiki/Code_page_866 you can build a map and convert your stuff to UTF-8.
感谢@Bala_R,我得到了 866 代码页并写道:
现在我们只需要了解使用什么代码页来编码文件名。我们在清单中有其 unicode 表示形式,在 zip 内有某种编码形式的表示形式。找到合适的编码应该不是很难。但就我而言,我只知道如果它不是 utf8,那么它就是 866。
Thanks to @Bala_R, i get 866 codepage and write:
Now we only need to understand what codepage was used to encode file name. We have its unicode representation in manifest and a representation in some encoding inside zip. It should be not very hard to find appropriate encoding. But in my case I just know that if it's not utf8 then it's 866.