Heim  >  Fragen und Antworten  >  Hauptteil

字符编码 - windows7下c++字符串是gbk编码?还是unicode?

win7控制台的编码好像是gbk 控制台输出中文不会乱码 那么win7下c++的编码是gbk吗

还有VS里面的项目有个 使用unicode字符集和多字节字符集的选择 该怎么选择?

PHPzPHPz2764 Tage vor585

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-04-17 12:04:36

    你选择用什么编码你编译出来就使用什么编码,跟控制台如何没有关系。

    现在当然是统一建议使用Unicode字符集。多字节字符集指的是GBK**一类**的字符集(DBCS)。

    有关编码问题我写过一篇文章,可以简单了解一下。字符编码:从ASCII到UTF

    Antwort
    0
  • 大家讲道理

    大家讲道理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环境。

    Antwort
    0
  • StornierenAntwort