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
不顯示在螢幕上,而是讓裝置去做某件事的字元。
0 NUL1 SOH2 STX3 ETX4 EOT5 ENQ6 ACK7 BEL8 BS9 HT10 LF11 VT12 FF13 CR14 SO15 SI16 DLE17 DC118 DC219 DC320 DC421 NAK22 SYN23 ETB24 CAN25 EM26 SUB27 ESC28 FS29 GS30 RS31 US127 DEL
空格1
什麼都不畫,卻要佔一格。
32 SP
數字10
0 在 48,所以低四位正好就是那個數字。
48 049 150 251 352 453 554 655 756 857 9
大寫字母26
A 從 65 開始,往後二十六個字母。
65 A66 B67 C68 D69 E70 F71 G72 H73 I74 J75 K76 L77 M78 N79 O80 P81 Q82 R83 S84 T85 U86 V87 W88 X89 Y90 Z
小寫字母26
a 從 97 開始——大寫加 32。
97 a98 b99 c100 d101 e102 f103 g104 h105 i106 j107 k108 l109 m110 n111 o112 p113 q114 r115 s116 t117 u118 v119 w120 x121 y122 z
標點符號32
散落在數字和字母之間的符號。
33 !34 "35 #36 $37 %38 &39 '40 (41 )42 *43 +44 ,45 -46 .47 /58 :59 ;60 <61 =62 >63 ?64 @91 [92 \93 ]94 ^95 _96 `123 {124 |125 }126 ~
33 個控制字元33
格式控制
換行、定位、換頁——今天仍在天天使用的那幾個。
8BSBackspace^H9HTHorizontal tab^I10LFLine feed^J11VTVertical tab^K12FFForm feed^L13CRCarriage return^M
傳輸控制
標記訊息從哪裡開始、到哪裡結束、有沒有收到的那些碼。
1SOHStart of heading^A2STXStart of text^B3ETXEnd of text^C4EOTEnd of transmission^D5ENQEnquiry^E6ACKAcknowledge^F16DLEData link escape^P21NAKNegative acknowledge^U22SYNSynchronous idle^V23ETBEnd of transmission block^W
裝置控制
讓裝置響鈴或切換字元集的那些碼。
7BELBell^G14SOShift out^N15SIShift in^O17DC1Device control 1^Q18DC2Device control 2^R19DC3Device control 3^S20DC4Device control 4^T
分隔符
四層巢狀的分隔符:檔案、群組、記錄、單元。
28FSFile separator^\29GSGroup separator^]30RSRecord separator^^31USUnit separator^_
其他
刪除、取消,以及打開另一層含義的 ESC。
0NULNull^@24CANCancel^X25EMEnd of medium^Y26SUBSubstitute^Z27ESCEscape^[127DELDelete^?
怎麼看這一頁
- 大寫加 32 就是小寫,只翻一個位元。
- 數字從 48 開始,所以用編碼減 48 就得到那個數。
- 按住 Ctrl 會把高三位清零——這就是 Ctrl+I 是定位字元的原因。
- 32 以下和 127 都不顯示,那裡寫的是縮寫。
常見問題
QASCII 為什麼只有 128 個?
因為它用七位表示,2 的 7 次方就是 128。
Q大小寫為什麼差 32?
這張表就是按「第六個位元分大小寫」排的。翻這一位,大小寫就換了。
QCtrl+I 為什麼是定位字元?
Ctrl 會清掉高三位。I 是 73,只留低五位得到 9,就是定位字元。
Q控制字元現在還用嗎?
換行(10)、歸位(13)、定位(9)、ESC(27) 天天在用,其餘多半是電報時代留下的。
Q128 以上的字元呢?
那不是 ASCII。它們歸 Unicode 管,而 UTF-8 把前 128 位原樣保留給 ASCII。