2

在我的 Silverlight 应用程序中,我得到了一个用 windows-1252 编码的 XML 文件。现在我的问题是,在将 windows-1252 字符串转换为 UTF8 字符串之前,它无法正确显示。在正常的 C# 环境中,这不是什么大问题:我可以做这样的事情:

Encoding wind1252 = Encoding.GetEncoding(1252);
Encoding utf8 = Encoding.UTF8;
byte[] wind1252Bytes = ReadFile(Server.MapPath(HtmlFile));
byte[] utf8Bytes = Encoding.Convert(wind1252, utf8, wind1252Bytes);
string utf8String = Encoding.UTF8.GetString(utf8Bytes);

将字符串的字符编码从 windows-1252 转换为 utf-8

但是silverlight 不支持windows-1252——它只是unicode。

PS 我偶然发现了“Silverlight 编码” http://encoding4silverlight.codeplex.com/ - 但那里似乎也不支持 windows-1252?

编辑: 我在“服务器端”解决了我的问题 - 实际问题仍然存在。

4

1 回答 1

1

Encoding for Silverlight是第三方编码系统,但DBCS (Double-Byte Character Set)现在只支持。但是,windows-1252 是SBCS (Single-Byte Character Set).

但是你可以为 编写一个编码器/解码器Encoding for Silverlight,我想会很容易。

于 2013-11-24T15:32:33.333 回答