在Windows Phone 8中阅读Windows-1252编码

时间:2013-01-01 13:07:14

标签: .net encoding windows-phone-8 windows-1252

在Windows中,我可以通过.NET使用Encoding.GetEncoding(“Windows-1252”)来检索“Windows-1252”代码页编码。不幸的是,此调用在Windows Phone 8模拟器中抛出ArgumentExtception,指定编码名称无效。我环顾了MSDN,但没有找到任何有用的东西。有谁知道Windows Phone 8中可用的编码以及“Windows-1252”编码的新名称?

是的,我知道使用“iso-8859-1”编码并手动替换129-159范围内的字符的替代选项。但是如果可能的话,我试图避免这种情况。

非常感谢,迈克尔

3 个答案:

答案 0 :(得分:5)

我不确定这仍然有效,但请记住它很有用。此工具生成单字节代码页的源代码

http://www.hardcodet.net/2010/03/silverlight-text-encoding-class-generator

我希望生成的源可以在基类库的windows phone子集中运行。

答案 1 :(得分:3)

正如异常消息如此清楚地告诉您,Windows Phone上的框架子集不支持Windows-1252。如你所说,使用Latin-1(ISO-8859-1)是一种方法。

或者您可以手动实现编码,我不建议这样做。

答案 2 :(得分:-1)

如何尝试MultiByteToWideChar(Win32 API)?

示例代码在这里。

http://bluewatersoft.cocolog-nifty.com/blog/2012/12/windows-phone-8.html

http://code.msdn.microsoft.com/wpapps/Windows-Phone-8-Shift-JIS-7ecd59fe/sourcecode?fileId=72228&pathId=1378915520

这是CP-932(Shift JIS)的样本。创建一个新的“Windows Phone运行时组件”(C ++)项目,然后复制代码。请为您更改常量“CP_SJIS”。

另外,我不知道CP-1252(Windows-1252)在WP8上是否有效。