Rumah > Soal Jawab > teks badan
win7控制台的编码好像是gbk 控制台输出中文不会乱码 那么win7下c++的编码是gbk吗
还有VS里面的项目有个 使用unicode字符集和多字节字符集的选择 该怎么选择?
天蓬老师2017-04-17 12:04:36
你选择用什么编码你编译出来就使用什么编码,跟控制台如何没有关系。
现在当然是统一建议使用Unicode字符集。多字节字符集指的是GBK**一类**的字符集(DBCS)。
有关编码问题我写过一篇文章,可以简单了解一下。字符编码:从ASCII到UTF
大家讲道理2017-04-17 12:04:36
以vs来说
(在中文系统下)普通字符串编译后是gbk
宽字符串编译之后是utf16
使用#pragma execution_character_set("utf-8")后,编译后是utf8
多字节和unicode,影响TCHAR的类型,多字节环境下TCHAR相当于char,unicode环境下,TCHAR是wchar_t。此外还有win32 api调用,多字节环境下调用结尾是a的接口,unicode环境下调用的是原生unicode接口。由于a结尾的接口内部实现是把多字节转换为unicode然后再调用unicode接口,所以没有特殊的需求最好是选择unicode环境。