2013-01-01 40 views
3

在Windows中,我可以通過.NET使用Encoding.GetEncoding(「Windows-1252」)來檢索「Windows-1252」代碼頁編碼。不幸的是,這個調用在Windows Phone 8模擬器中引發了一個ArgumentExtception,指定編碼名稱無效。我環顧MSDN,但沒有發現任何有用的東西。有誰知道哪些編碼在Windows Phone 8中可用,哪些是「Windows-1252」編碼的新名稱?在Windows Phone 8中閱讀Windows-1252編碼

是的,我知道使用「iso-8859-1」編碼和手動替換129-159範圍內的字符的替代選項。但是我儘可能避免這種情況。

非常感謝,邁克爾

+0

唯一記錄的支持的編碼是Unicode編碼。我認爲8859-1吱吱作響,因爲它在網頁中仍然很常見。 –

回答

3

由於異常消息,以便明確地告訴你,在Windows Phone框架集沒有附帶的Windows 1252的支持。正如你所說,使用Latin-1(ISO-8859-1)是一種方法。

或者你可以手動實現編碼,我不會推薦。

-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(移位JIS)一個samplle。創建一個新的「Windows Phone運行時組件」(C++)項目,然後複製代碼。請更改常量「CP_SJIS」。

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