3

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

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

非常感谢,迈克尔

4

3 回答 3

5

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

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

我希望生成的源代码可以在基类库的 windows phone 子集中使用。

于 2013-01-01T13:33:41.900 回答
3

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

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

于 2013-01-01T13:26:20.873 回答
-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是否有效。

于 2013-01-02T01:47:05.083 回答