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。