執行字符集

執行字符集 （ 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平臺均爲小端序表示 。