vs2010 字符串使用时乱码问题

查看我的vs2010 配置

文件 - 高级保存选项 - 编码  - GB2312

项目 - 属性 - 配置属性 - 常规 - 字符集 - 使用UNICODE 字符集



GB2312

(详细解释见  

http://www.qianxingzhem.com/post-1499.html 

不止解释了这一种编码方式,写的非常易懂,值得一读)


默认情况下,vs中 存储 ”string“ 时,会存储为 ascii 码格式,即英文字母以及各种字符存储为单字节,中文汉字存储为双字节


如图可见字符串编码方式的不同,默认情况下,英文以及其他字符会被保存为1个字节,中文保存为两个字节。

而使用 Unicode方式,以宽字节方式存储时英文和其他字符以及中文均保存为两个字节。


而在使用 win32 API 的时候,许多输入参数都需要使用 Unicode  编码方式,如果这时还使用 GB2312 方式编码就会造成字符串乱码,从而保存或者函数无法正确执行。

这时可以使用   L“string” 或 __TEXT(string)的方式将字符串存储为宽字节。


例:




版权声明:本文为jackcily原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。