在Windows中,我可以通过.NET使用Encoding.GetEncoding(“Windows-1252”)来检索“Windows-1252”代码页编码。不幸的是,此调用在Windows Phone 8模拟器中抛出ArgumentExtception,指定编码名称无效。我环顾了MSDN,但没有找到任何有用的东西。有谁知道Windows Phone 8中可用的编码以及“Windows-1252”编码的新名称?
是的,我知道使用“iso-8859-1”编码并手动替换129-159范围内的字符的替代选项。但是如果可能的话,我试图避免这种情况。
非常感谢,迈克尔
答案 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
这是CP-932(Shift JIS)的样本。创建一个新的“Windows Phone运行时组件”(C ++)项目,然后复制代码。请为您更改常量“CP_SJIS”。
另外,我不知道CP-1252(Windows-1252)在WP8上是否有效。