当前位置: 首页 > 知识库问答 >
问题:

在Silverlight中将windows-1252编码转换为UTF-8

邬阳
2023-03-14

在我的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?

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

共有1个答案

谈渊
2023-03-14

Silverlight的编码是一个第三方编码系统,但现在只支持所有的DBCS(双字节字符集)。但是,windows-1252是SBCS(单字节字符集)

但是你可以为Silverlight编写一个编码器/解码器,我认为这将是非常容易的。

 类似资料:
  • 我试图保存一个字符串在希伯来文文件,同时有文件ANSI编码。恐怕所有的尝试都失败了。 PHP文件本身是UTF-8 这是我正在尝试的代码: 由于某种原因,返回false。 另一次尝试是: 这返回一个空字符串。当这不起作用时,将输出字符集更改为Windows-1255的工作。所以函数本身工作,但由于某种原因,它不转换为1252。 我运行这个函数之前和之后的和打印的结果 在图标之前编码是UTF-8,在图

  • 我有UTF-8源数据,我必须创建在Windows 1252字符编码编码的CSV文件。 我尝试了经典功能,但效果不佳。它必须支持转换后的塞尔维亚字符: "čćžšđ" 。 此外,我还尝试转换为CP1252、ISO-8859-1、ISO-8859-2,功能包括:mb_convert_编码、iconv和iconv_set_编码。 有人知道该试试什么吗?

  • 将编码传递到UTF-8后,我无法在Windows-1252中显示字符串。 我被迫在init中转换为UTF-8 我想将我的字符串转换为Windows-1252字符以显示它: 我正在得到这个结果 如何获得正确的以下结果? 谢谢! 当做

  • 我需要将上传的文件名转换为未知编码的Windows 1252,同时保持UTF-8兼容性。 当我将这些文件传递给控制器(我对其没有任何影响)时,这些文件必须经过Windows-1252编码。然后,该控制器再次生成通过MySQL存储到数据库中的有效文件(名称)列表-因此我需要UTF-8兼容性。传递给控制器的文件名和写入数据库的文件名必须匹配。到目前为止还不错。 在一些罕见的情况下,当转换为“Windo

  • 我正在尝试将我们的数据库从latin1转换为UTF-8。不幸的是,我不能做一个大规模的单一切换,因为应用程序需要保持在线,我们有700GB的数据库要转换。 因此,我试图利用mysql的一些技巧,将表转换为UTF-8,而不是数据。我希望数据能够被实时读取、转换和替换。(如果愿意,可以进行JIT转换) 我们的php应用程序目前使用所有默认值,所以它使用latin1字符集连接到mysql,并丢弃在lat

  • 问题内容: 我从外部Microsoft SQL 2008数据库接收数据(我通过My​​Batis进行查询)。在理论中,我在“ Windows-1252”上接收数据编码。 我尝试使用以下代码解码数据: 字符串textoFormado = …来自MyBatis的值…; String s = new String(textoFormado.getBytes(“ Windows-1252”),“ UTF-