选择我做法是:读取文件中内容,然后将这个字符转换为UTF8字符串,然后在加上0xEF,0xBB,0xBF三个字节加上转换后的UTF8字符串写入文件,发现得到的文件并不是我想要的结果。
谢了
4 个解决方案
#1
BOM没有问题,检查编码转换是否正确
#2
可以使用hex编辑器参考用记事本保存的utf-8文本文件
#3
我也很想知道记事本的另存为utf-8文本是怎么搞的,刚刚试了下,是0xEF,0xBB,0xBF加上UTF8编码的字符串
#4
如果程序是ANSI的,需要MultiByteToWideChar(CP_UTF8,....)转换一下。
如果程序是Unicode,需要WideCharToMultiByte(CP_UTF8,...)转换一下。
BOM可以加,也可以不加,多数文本编辑器都可以猜测出来UTF8和UTF16的编码。
楼主要是真的想研究的话,可以看看linux上面开源的相关编辑器源代码。
如果程序是Unicode,需要WideCharToMultiByte(CP_UTF8,...)转换一下。
BOM可以加,也可以不加,多数文本编辑器都可以猜测出来UTF8和UTF16的编码。
楼主要是真的想研究的话,可以看看linux上面开源的相关编辑器源代码。
#1
BOM没有问题,检查编码转换是否正确
#2
可以使用hex编辑器参考用记事本保存的utf-8文本文件
#3
我也很想知道记事本的另存为utf-8文本是怎么搞的,刚刚试了下,是0xEF,0xBB,0xBF加上UTF8编码的字符串
#4
如果程序是ANSI的,需要MultiByteToWideChar(CP_UTF8,....)转换一下。
如果程序是Unicode,需要WideCharToMultiByte(CP_UTF8,...)转换一下。
BOM可以加,也可以不加,多数文本编辑器都可以猜测出来UTF8和UTF16的编码。
楼主要是真的想研究的话,可以看看linux上面开源的相关编辑器源代码。
如果程序是Unicode,需要WideCharToMultiByte(CP_UTF8,...)转换一下。
BOM可以加,也可以不加,多数文本编辑器都可以猜测出来UTF8和UTF16的编码。
楼主要是真的想研究的话,可以看看linux上面开源的相关编辑器源代码。