【问题标题】:Reading Windows-1252 encoding in Windows Phone 8在 Windows Phone 8 中读取 Windows-1252 编码
【发布时间】:2013-01-01 13:07:13
【问题描述】:

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

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

非常感谢,迈克尔

【问题讨论】:

  • 唯一记录在案的支持编码是 Unicode 编码。我猜想 8859-1 突然出现了,因为它在网页中仍然很常见。

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      试试 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是否有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 2013-05-10
        • 2018-01-13
        相关资源
        最近更新 更多