使用得最多的、最普遍的是ASCII字符编码, 即American Standard Code for Information Interchange, 如表2.8所示。
从表中可以看到:
. 每个字符是用7位基2码表示的, 其排列次序为b6b5b4b3b2b1b0, 在表中的b6b5b4为高位部分, b3b2b31b0为低位部分。而一个字符在计算机内实际上用8位表示。正常情况下, 最高一位b7为 "0"。在需要奇偶校验时, 这一位可用于存放奇偶校验的值, 此时称这一位为校验位。
表2.8 ASCII字符编码表
b6b5b4 | 000 001 010 011 100 101 110 111 |
b3b2b1b0 | - |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | NUL DLE SP 0 @ P 、 p SOH DC1 ! 1 A Q a q STX DC2 " 2 B R b r ETX DC3 # 3 C S c s EOT DC4 4 D T d t ENQ NAK % 5 E U e u ACK SYN 6 F V f v BEL ETB ' 7 G W g w BS CAN ( 8 H X h x HT EM ) 9 I Y I y LF SUB * : J Z j z VT ESC + ; K [ k FF FS , L \ l | CR GS - = M ] m SO RS . > N ↑ m ~ SI US / ? O - o DEL |
ASCII是128个字符组成的字符集。其中编码值0-31不对应任何可印刷(或称有字形)字符, 通常称它们为控制字符, 用于通信中的通信控制或对计算机设备的功能控制。编码值为32的是空格(或间隔)字符SP。编码值为127的是删除控制DEL码。其余的94个字符称为可印刷字符,有人把空格也计入可印刷字符时,则称有95个可印刷字符。请注意, 这种字符编码中有如下两个规律:
(1)字符0-9这10个数字符的高3位编码为011, 低4 位为000-1001。当去掉高3位的值时, 低4位正好是二进制形式的0-9。这既满足正常的排序关系, 又有利于完成ASCII码与二进制码之间的类型转换。
(2)英文字母的编码值满足正常的字母排序关系, 且大、小写英文字母编码的对应关系相当简便, 差别仅表现在b5一位的值为0或1, 有利于大、小写字母之间的编码变换。
另有一种字符编码,是主要用在IBM计算机中的EBCDIC代码(Extended Binary Coded Decimal Interchange Code)。它采用8位码, 有256个编码状态, 但只选用其中一部分。0-9十个数字符的高4位编码为1111, 低4位仍为0000-1001。大、小写英文字母的编码同样满足正常的排序要求, 而且有简单的对应关系, 即同一个字母的大小写的编码值仅最高的第二位的值不同, 易于识别与变换。