带签名的utf8和不带签名的utf8为什么内码不同
语句:string str="进度";
当文件用不带签名的utf8保存时str的内存字节长度是6字节,也就是一个中文三字节。
当我用vs2008的保存选项保存为带签名的utf8时,str的内存字节长度是4字节,也就是一个中文两字节。
如果文件用不带签名的utf8时,界面上可以正常显示str的值,但编译时经常会出错,才想把文件都转成带签名的,但如果像这样连长度都不同,出来的结果完全是错的。
带不带签名不就是文件开始的地方多个标记吗?怎么连内码长度也不同。
这问题是出在哪了?
[解决办法]
不带签名,很多软件不认识。。。给你保存或读取的时候,说不定就改了
[解决办法]
我试了有bom的,两个中文,文件9字节,没错啊
[解决办法]
lz, 2字节中文通常不是gbk就是utf16.