码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-01-09 17:06:38      阅读:178      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!