首页 > 编程语言 > 详细

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

时间:2015-01-09 17:06:26      阅读:309      评论:0      收藏:0      [点我收藏+]

有一段时间一直为编码格式的问题烦恼,某些编辑器在保存为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头即可解决。再次感谢原博主的帮助。

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

原文:http://www.cnblogs.com/softwind/p/4213483.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!