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。