ASCII 碼表 128 個字元
從十進位、十六進位、二進位,到 HTML 實體和 Ctrl 組合,全部由編號算出。表裡還能看出大小寫為什麼正好差 32。
碼表
橫向八欄是高三位,縱向十六列是低四位。大寫那一欄緊挨著小寫那一欄——這就是這張表的樣子。
0NUL1SOH2STX3ETX4EOT5ENQ6ACK7BEL8BS9HT10LF11VT12FF13CR14SO15SI16DLE17DC118DC219DC320DC421NAK22SYN23ETB24CAN25EM26SUB27ESC28FS29GS30RS31US32SP33!34"35#36$37%38&39'40(41)42*43+44,45-46.47/48049150251352453554655756857958:59;60<61=62>63?64@65A66B67C68D69E70F71G72H73I74J75K76L77M78N79O80P81Q82R83S84T85U86V87W88X89Y90Z91[92\93]94^95_96`97a98b99c100d101e102f103g104h105i106j107k108l109m110n111o112p113q114r115s116t117u118v119w120x121y122z123{124|125}126~127DEL
控制字元33
不顯示在螢幕上,而是讓裝置去做某件事的字元。
空格1
什麼都不畫,卻要佔一格。
數字10
0 在 48,所以低四位正好就是那個數字。
大寫字母26
A 從 65 開始,往後二十六個字母。
小寫字母26
a 從 97 開始——大寫加 32。
標點符號32
散落在數字和字母之間的符號。
33 個控制字元33
格式控制
換行、定位、換頁——今天仍在天天使用的那幾個。
傳輸控制
標記訊息從哪裡開始、到哪裡結束、有沒有收到的那些碼。
裝置控制
讓裝置響鈴或切換字元集的那些碼。
分隔符
四層巢狀的分隔符:檔案、群組、記錄、單元。
其他
刪除、取消,以及打開另一層含義的 ESC。
怎麼看這一頁
- 大寫加 32 就是小寫,只翻一個位元。
- 數字從 48 開始,所以用編碼減 48 就得到那個數。
- 按住 Ctrl 會把高三位清零——這就是 Ctrl+I 是定位字元的原因。
- 32 以下和 127 都不顯示,那裡寫的是縮寫。
常見問題
Q. ASCII 為什麼只有 128 個?
因為它用七位表示,2 的 7 次方就是 128。
Q. 大小寫為什麼差 32?
這張表就是按「第六個位元分大小寫」排的。翻這一位,大小寫就換了。
Q. Ctrl+I 為什麼是定位字元?
Ctrl 會清掉高三位。I 是 73,只留低五位得到 9,就是定位字元。
Q. 控制字元現在還用嗎?
換行(10)、歸位(13)、定位(9)、ESC(27) 天天在用,其餘多半是電報時代留下的。
Q. 128 以上的字元呢?
那不是 ASCII。它們歸 Unicode 管,而 UTF-8 把前 128 位原樣保留給 ASCII。