名稱空間
變體
操作

字元集和編碼

來自 cppreference.com
< c‎ | 語言

目錄

[編輯] 基本字元集

基本字元集包含以下 95 個字元

程式碼單元 字元 字形
U+0009 字元製表符
U+000B 行製表符
U+000C 換頁 (FF)
U+0020 空格
U+0021 感嘆號 !
U+0022 引號 "
U+0023 井號 #
U+0025 百分號 %
U+0026 和號 &
U+0027 撇號 '
U+0028 左小括號 (
U+0029 右小括號 )
U+002A 星號 *
U+002B 加號 +
U+002C 逗號 ,
U+002D 連字元-減號 -
U+002E 句號 .
U+002F 斜槓 /
U+0030 .. U+0039 數字零 .. 九 0 1 2 3 4 5 6 7 8 9
U+003A 冒號 :
U+003B 分號 ;
U+003C 小於號 <
U+003D 等號 =
U+003E 大於號 >
U+003F 問號 ?
U+0041 .. U+005A 拉丁大寫字母 A .. Z A B C D E F G H I J K L M

N O P Q R S T U V W X Y Z

U+005B 左方括號 [
U+005C 反斜槓 \
U+005D 右方括號 ]
U+005E 抑揚符 ^
U+005F 下劃線 _
U+0061 .. U+007A 拉丁小寫字母 a .. z a b c d e f g h i j k l m

n o p q r s t u v w x y z

U+007B 左花括號 {
U+007C 豎線 |
U+007D 右花括號 }
U+007E 波浪號 ~

與 C++ 不同,U+000A 換行符 (LF) 不包含在基本字元集中。相反,原始檔中指示每行文字結尾的方式應有規定,並且文件將此行尾指示符視為單個換行符。

基本字元集也稱為基本源字元集

[編輯] 基本執行字元集

基本執行字元集包含基本字元集的所有成員,以及以下字元

程式碼單元 字元
U+0000 空字元
U+0007 響鈴
U+0008 退格
U+000A 換行 (LF)
U+000D 回車 (CR)

對於每個基本執行字元集,其成員的值應為非負且彼此不同。在源和執行基本字元集中,上述十進位制數字列表中,0 之後每個字元的值應比前一個字元的值大一。U+0000 空字元的值為 0。

基本執行字元集的每個成員的表示都適合一個位元組。

在 C++ 中,基本執行字元集也稱為基本字面量字元集基本執行寬字元集

[編輯] 字面量編碼

字面量編碼是執行字元集字元到不帶編碼字首的字元常量字串字面量中的值的實現定義對映。它支援將所有基本執行字元集值對映到實現定義的編碼。它可能包含多位元組字元序列。

以下字元不屬於基本執行字元集,但它們要求在普通字元常量或普通字串字面量中編碼為單個位元組。

程式碼單元 字元 字形
U+0024 美元符號 $
U+0040 商業 at 符 @
U+0060 重音符 `
(自 C23 起)

寬字面量編碼是執行字元集字元到帶 L 字首的字元常量或字串字面量中的值的實現定義對映。它支援將所有基本執行字元集值對映到實現定義的編碼。如果實現未定義 __STDC_MB_MIGHT_NEQ_WC__,則對於所有基本執行字元集值,該對映生成的值與字面量編碼相同。一個或多個值可以對映到一個或多個擴充套件執行字元集的值。

UTF-8 編碼用於將執行字元集的字元對映到 u8 字首的字元常量或(C23 起)字串字面量。

實現定義的編碼(C23 前)UTF-16 編碼(C23 起)用於將執行字元集的字元對映到 u 字首的字元常量或字串字面量。

實現定義的編碼(C23 前)UTF-32 編碼(C23 起)用於將執行字元集的字元對映到 U 字首的字元常量或字串字面量。

(C11 起)

[編輯] 另見

ASCII 表
C++ 文件關於 字元集和編碼