WP8 客户端C# UTF8 字符在转C++ 宽字符时失败问题。_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > WP8 客户端C# UTF8 字符在转C++ 宽字符时失败问题。

WP8 客户端C# UTF8 字符在转C++ 宽字符时失败问题。

 2015/1/9 16:48:15  温风  程序员俱乐部  我要评论(0)
  • 摘要:有一段时间一直为编码格式的问题烦恼,某些编辑器在保存为UTF-8文件后,wp客户端在从C#代码读取后转给C++保存为宽字符时,文本全部丢失,后查看官方文档:http://msdn.microsoft.com/zh-cn/library/vstudio/t3ayayh1发现是EILSEQ错误,即有“非法字节序列”,可某些编辑器处理后没有这个问题。在仔细区别两种编辑工具最后生成的文件时发现有3字节的容量差,网上就开始搜索
  • 标签:

有一段时间一直为编码格式的问题烦恼,某些编辑器在保存为UTF-8文件后,wp 客户端在从C#代码读取后转给C++保存为宽字符时,文本全部丢失,后查看官方文档:http://msdn.microsoft.com/zh-cn/library/vstudio/t3ayayh1 发现是EILSEQ错误,即有“非法字节序列”,可某些编辑器处理后没有这个问题。

在仔细区别两种编辑工具最后生成的文件时发现有3字节的容量差,网上就开始搜索,发现还真有人总结出来是由于UTF8 带BOM 与 无BOM 的差别导致(原博客地址:http://www.cnblogs.com/08shiyan/archive/2013/04/19/3031257.html)。

其中,当带BOM时WP宽字符转换会出现失败。因此当字节流开头为(EF BB BF)时去除(已验证), 或通过 new UTF8Encoding(false) 忽略BOM头即可解决。再次感谢原博主的帮助。

  • 相关文章
发表评论
用户名: 匿名