没有可用于编码 1252 的数据 - Xamarin

Posted

技术标签:

【中文标题】没有可用于编码 1252 的数据 - Xamarin【英文标题】:No data available for encoding 1252 - Xamarin 【发布时间】:2016-10-13 06:20:49 【问题描述】:

我正在使用 Xamarin 开发 android 应用,同时尝试将文本转换为 byte[] 我收到以下错误:

没有可用于编码 1252 的数据

我的代码:

byte[] mybyteA= Portable.Text.Encoding.UTF8.GetBytes(mystring);

Mono.Security.Cryptography.SHA224Managed sha22 = new _Mono.Security.Cryptography.SHA224Managed();
byte[] hash = sha22.ComputeHash(mybyteA);

【问题讨论】:

bugzilla.xamarin.com/show_bug.cgi?id=39237 这是您的实际代码吗?唯一处理编码的部分是第一行,它使用 UTF-8,而不是 cp1252... 哪一行准确地引发了异常? 哪一行导致错误?您确定要使用 _Mono 命名空间中的任何内容吗? 我应该在调试中添加这个作品,但在第一行(实际编码行)发布失败 即使我使用 system.security,我也会遇到同样的错误。错误在第一行。 【参考方案1】:

Western Code page (1252) 没有捆绑到您的最终 IPA/APK 中。

对于 ios 项目,通过在 Project Properties -> iOS Build -> Internationalization 下检查 west 来包含它:

对于 Android 项目,通过检查 Project Properties -> Android Build -> Linker -> 下的 west 来包含它国际化

【讨论】:

【参考方案2】:

在 Visual Studio 中,您必须转到每个项目的属性窗口:

iOS

你必须向下滚动直到'west'

安卓

【讨论】:

以上是关于没有可用于编码 1252 的数据 - Xamarin的主要内容,如果未能解决你的问题,请参考以下文章

Javascript -> 下载以 ISO-8859-1 / Latin1 / Windows-1252 编码的 CSV 文件

Windows -1252 不支持编码名称

转换函数不适用于 CLOB 数据类型

((Python)Beautifull汤和编码(utf-8,cp1252,ascii ...)

无法完成保存。日食错误

在 python 中正确读取 Windows-1252(cp1252) 文件中的文本