我正在写一个silverlight 5应用程序,我需要从用户那里读取一个文本文件。
以下是我的代码片段:
using (StreamReader reader = new StreamReader(fileStream, Encoding.GetEncoding("windows-1255")))
但是我得到了例外:“'windows-1255'不是受支持的编码名称”。 那是为什么?
然后,我如何读取“windows-1255”编码中的文件? (希伯来语)
答案 0 :(得分:1)
Silverlight中支持的编码不多。基本上,你得到UTF8和UTF16,见http://msdn.microsoft.com/en-us/library/t9a3kf7c%28VS.95%29.aspx
您可以将文件读取为二进制文件,然后将自己转换为UTF(8或32,我不知道希伯来语)。您需要一个包含所有字符的表(256),然后您可以循环输入文件并直接翻译。
答案 1 :(得分:1)
我再次遇到这个问题,
经过大量的Googleing,我发现了这个惊人的工具!
http://www.hardcodet.net/2010/03/silverlight-text-encoding-class-generator
这个由“Philipp Sumi(@phsumi)”创建的小艺术作品,采用了众所周知的编码的名称或代码页,并创建了一个在Silverlight下编译的自定义编码类。
它是通过读取wpf中的现有编码来实现的,并将其编辑为在Silverlight下工作。