没有可用于编码 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 文件