wfstream写入unicode字符串很多陷阱

来源:互联网 发布:行知私塾 编辑:程序博客网 时间:2024/05/18 03:10

1,直接通过 wfstream << wstring 的方式不行,文件是空白,但是不报错

2,只有用这种方式: fstream.write( (char*)wstring.c_str(),  2 * wstring.size() )的方式才能写入成功

3,写入成功的unicode字符是乱码,通过ultroEdit打开看,写入的字符是对的。 所以另外新建了一个记事本文件,二者比较发现一个秘密,比须在文件的开头放入两个特殊字符 "FF FE",unicode与ansi同。

4,混合写入ansi和unicode时失败,用第二步的方法也不行。(没有仔细验证)

放一个错误的例子:

另:打开相关的文件,你会看到英文音标,注意字体最好换成“新宋体”,“FixSystem“看不到的,其实用浏览器打开显示的最全。

 

另符,查看unicode字符的方法

原创粉丝点击