你可以使用_T("")宏把字符串转成UNICODE编码,不如_T("Hello World!"),不过可不能游茄嫌再保存到char数组里了,微神手软给我们准备了一个TCHAR,其实纳配就是一个 short int型数组,UNICODE 需要2个字节来表示一个数组,现在只要把TCHAR内存块写进文件就OK了,对C++来说它还是一串二进制数据。
另外,微软极力建议使用_T("")宏,所以请不要嫌麻烦,养成好的习惯是非常重要的!
这个暂时没有一闹笑步液皮含实现的方法,首先你要先理解原理WINDOWS内部是使用宽字节的,用的是unicode
所以你首先要把 ANSI=>Unicode,用函数MultiByteToWideChar实现
然后再把Unicode=>UTF8,用函数WideCharToMultiByte实现
原理就这样,至于具体怎么用,再百度一把吧,网上很握罩多例子,勤奋的双手创造财富
输出正确的UTF-8纯文本文辩侍首件分为两个谈睁步骤:
写BOM文件头。UTF-8编码是EF BB BF
将文本通携数过MultibyteToWideChar转换为UTF8格式,写入文件。
需要注意的有两条,一个是,不能以文本方式打开(因为BOM是不可打印的),一个是编码转换要确认初始编码是什么。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)