执行字符集

执行字符集（execution character set）是C/C++语言的程序编译后字符类型与字符串类型所使用的编码字符集。与源代码使用的源字符集（source character set）相对。执行宽字符集（execution wide-character set）是编译后的程序中宽字符所使用的编码字符集。

例如，源文件是Latin-1编码，执行字符集为utf-8，则char c='ö';中的字符值将被编译器从Latin-1编码的单字节的0xD6自动转为utf-8编码的双字节的0xC3B6，在目标文件与可执行文件中字符c的值是'ö'的utf-8编码值的最后一个字节值即0xB6。

使用前缀L u U分别表示wchar_t  char16_t char32_t等字符类型的字面量。例如u'y'。一个wchar_t类型的字面量的值，就是该字符在执行宽字符集（execution wide-character set）中的编码值。一个char16_t类型的字面量的值，就是该字符在Unicode编码中的16比特的码位；显然该字符必须属于Unicode中的基本多文種平面才能用16比特来编码。一个char32_t类型的字面量的值，就是该字符在Unicode编码中的32比特的码位。这些字符类型在x86平台均为小端序表示。

参考文献

C语言