字元集和編碼
目錄 |
[編輯] 基本字元集
基本字元集包含以下 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
|
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
|
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++ 中,基本執行字元集也稱為基本字面量字元集和基本執行寬字元集。
[編輯] 字面量編碼
字面量編碼是執行字元集字元到不帶編碼字首的字元常量或字串字面量中的值的實現定義對映。它支援將所有基本執行字元集值對映到實現定義的編碼。它可能包含多位元組字元序列。
以下字元不屬於基本執行字元集,但它們要求在普通字元常量或普通字串字面量中編碼為單個位元組。
|
(自 C23 起) |
寬字面量編碼是執行字元集字元到帶 L
字首的字元常量或字串字面量中的值的實現定義對映。它支援將所有基本執行字元集值對映到實現定義的編碼。如果實現未定義 __STDC_MB_MIGHT_NEQ_WC__
,則對於所有基本執行字元集值,該對映生成的值與字面量編碼相同。一個或多個值可以對映到一個或多個擴充套件執行字元集的值。
UTF-8 編碼用於將執行字元集的字元對映到 實現定義的編碼(C23 前)UTF-16 編碼(C23 起)用於將執行字元集的字元對映到 實現定義的編碼(C23 前)UTF-32 編碼(C23 起)用於將執行字元集的字元對映到 |
(C11 起) |
[編輯] 另見
ASCII 表 | |
C++ 文件關於 字元集和編碼
|