ASCII 参考
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,用于表示文本和控制字符。它最早在 1963 年由美国国家标准协会(ANSI)发布,至今仍然广泛应用于计算机科学、编程、通信和数据存储等领域。
1. 什么是 ASCII?
ASCII 是一种 7 位编码方案,最初设计用来为计算机提供统一的字符表示方式。它定义了 128 个字符,其中包括 33 个控制字符和 95 个可打印字符。
1.1. ASCII 的基本结构
ASCII 字符集被划分为以下几个部分:
- 控制字符(0 - 31 和 127):
这些字符用于控制计算机设备(如打印机、终端等)的行为,而不是显示文本。例如,回车符(CR)、换行符(LF)、空格符等。 - 可打印字符(32 - 126):
包括所有我们可以在屏幕上看到的字符,如字母(A-Z, a-z)、数字(0-9)、标点符号(如!
,?
,@
)以及一些常用符号(如&
,#
,$
等)。
2. ASCII 控制字符
ASCII 中的控制字符(编号 0 到 31 和 127)最初用于控制硬件设备(如终端和打印机),它们的功能包括换行、回车、响铃、制表符等。以下是常见的控制字符及其说明:
编号 | 字符 | 十六进制 | 二进制 | 名称 |
---|---|---|---|---|
0 | NUL | 0x00 | 00000000 | 空字符 |
1 | SOH | 0x01 | 00000001 | 标题开始 |
2 | STX | 0x02 | 00000010 | 正文开始 |
3 | ETX | 0x03 | 00000011 | 正文结束 |
4 | EOT | 0x04 | 00000100 | 传输结束 |
5 | ENQ | 0x05 | 00000101 | 请求 |
6 | ACK | 0x06 | 00000110 | 确认 |
7 | BEL | 0x07 | 00000111 | 响铃 |
8 | BS | 0x08 | 00001000 | 退格符 |
9 | TAB | 0x09 | 00001001 | 水平制表符 |
10 | LF | 0x0A | 00001010 | 换行符 |
11 | VT | 0x0B | 00001011 | 垂直制表符 |
12 | FF | 0x0C | 00001100 | 换页符 |
13 | CR | 0x0D | 00001101 | 回车符 |
14 | SO | 0x0E | 00001110 | 换码符 |
15 | SI | 0x0F | 00001111 | 退码符 |
16 | DLE | 0x10 | 00010000 | 数据链路转义 |
17 | DC1 | 0x11 | 00010001 | 设备控制 1 |
18 | DC2 | 0x12 | 00010010 | 设备控制 2 |
19 | DC3 | 0x13 | 00010011 | 设备控制 3 |
20 | DC4 | 0x14 | 00010100 | 设备控制 4 |
21 | NAK | 0x15 | 00010101 | 不接受 |
22 | SYN | 0x16 | 00010110 | 同步 |
23 | ETB | 0x17 | 00010111 | 传输块结束 |
24 | CAN | 0x18 | 00011000 | 取消 |
25 | EM | 0x19 | 00011001 | 结束标记 |
26 | SUB | 0x1A | 00011010 | 替换符 |
27 | ESC | 0x1B | 00011011 | 转义符 |
28 | FS | 0x1C | 00011100 | 文件分隔符 |
29 | GS | 0x1D | 00011101 | 组分隔符 |
30 | RS | 0x1E | 00011110 | 记录分隔符 |
31 | US | 0x1F | 00011111 | 单元分隔符 |
127 | DEL | 0x7F | 01111111 | 删除符 |
3. ASCII 可打印字符
可打印字符从 ASCII 编号 32 到 126,包括大写字母、小写字母、数字、标点符号以及一些常用符号。以下是可打印字符的一部分:
编号 | 字符 | 十六进制 | 二进制 | 名称 |
---|---|---|---|---|
32 | (空格) | 0x20 | 00100000 | 空格 |
33 | ! | 0x21 | 00100001 | 感叹号 |
34 | " | 0x22 | 00100010 | 双引号 |
35 | # | 0x23 | 00100011 | 井号 |
36 | $ | 0x24 | 00100100 | 美元符号 |
37 | % | 0x25 | 00100101 | 百分号 |
38 | & | 0x26 | 00100110 | 和符号 |
39 | ’ | 0x27 | 00100111 | 单引号 |
40 | ( | 0x28 | 00101000 | 左括号 |
41 | ) | 0x29 | 00101001 | 右括号 |
42 | * | 0x2A | 00101010 | 星号 |
43 | + | 0x2B | 00101011 | 加号 |
44 | , | 0x2C | 00101100 | 逗号 |
45 | - | 0x2D | 00101101 | 减号 |
46 | . | 0x2E | 00101110 | 句号 |
47 | / | 0x2F | 00101111 | 斜杠 |
48 | 0 | 0x30 | 00110000 | 数字 0 |
49 | 1 | 0x31 | 00110001 | 数字 1 |
50 | 2 | 0x32 | 00110010 | 数字 2 |
51 | 3 | 0x33 | 00110011 | 数字 3 |
52 | 4 | 0x34 | 00110100 | 数字 4 |
53 | 5 | 0x35 | 00110101 | 数字 5 |
54 | 6 | 0x36 | 00110110 | 数字 6 |
55 | 7 | 0x37 | 00110111 | 数字 7 |
56 | 8 | 0x38 | 00111000 | 数字 8 |
57 | 9 | 0x39 | 00111001 | 数字 9 |
58 | : | 0x3A | 00111010 | 冒号 |
59 | ; | 0x3B | 00111011 | 分号 |
60 | < | 0x3C | 00111100 | 小于号 |
61 | = | 0x3D | 00111101 | 等号 |
62 | > | 0x3E | 00111110 | 大于号 |
63 | ? | 0x3F | 00111111 | 问号 |
64 | @ | 0x40 | 01000000 | 电子邮件符号 |
65 | A | 0x41 | 01000001 | 字母 A |
66 | B | 0x42 | 01000010 | 字母 B |
67 | C | 0x43 | 01000011 | 字母 C |
68 | D | 0x44 | 01000100 | 字母 D |
69 | E | 0x45 | 01000101 | 字母 E |
70 | F | 0x46 | 01000110 | 字母 F |
71 | G | 0x47 | 01000111 | 字母 G |
72 | H | 0x48 | 01001000 | 字母 H |
73 | I | 0x49 | 01001001 | 字母 I |
74 | J | 0x4A | 01001010 | 字母 J |
75 | K | 0x4B | 01001011 | 字母 K |
76 | L | 0x4C | 01001100 | 字母 L |
77 | M | 0x4D | 01001101 | 字母 M |
78 | N | 0x4E | 01001110 | 字母 N |
79 | O | 0x4F | 01001111 | 字母 O |
80 | P | 0x50 | 01010000 | 字母 P |
81 | Q | 0x51 | 01010001 | 字母 Q |
82 | R | 0x52 | 01010010 | 字母 R |
83 | S | 0x53 | 01010011 | 字母 S |
84 | T | 0x54 | 01010100 | 字母 T |
85 | U | 0x55 | 01010101 | 字母 U |
86 | V | 0x56 | 01010110 | 字母 V |
87 | W | 0x57 | 01010111 | 字母 W |
88 | X | 0x58 | 01011000 | 字母 X |
89 | Y | 0x59 | 01011001 | 字母 Y |
90 | Z | 0x5A | 01011010 | 字母 Z |
91 | [ | 0x5B | 01011011 | 左方括号 |
92 | \ | 0x5C | 01011100 | 反斜杠 |
93 | ] | 0x5D | 01011101 | 右方括号 |
94 | ^ | 0x5E | 01011110 | 插入符号 |
95 | _ | 0x5F | 01011111 | 下划线 |
96 | ` | 0x60 | 01100000 | 反引号 |
97 | a | 0x61 | 01100001 | 字母 a |
98 | b | 0x62 | 01100010 | 字母 b |
99 | c | 0x63 | 01100011 | 字母 c |
100 | d | 0x64 | 01100100 | 字母 d |
101 | e | 0x65 | 01100101 | 字母 e |
102 | f | 0x66 | 01100110 | 字母 f |
103 | g | 0x67 | 01100111 | 字母 g |
104 | h | 0x68 | 01101000 | 字母 h |
105 | i | 0x69 | 01101001 | 字母 i |
106 | j | 0x6A | 01101010 | 字母 j |
107 | k | 0x6B | 01101011 | 字母 k |
108 | l | 0x6C | 01101100 | 字母 l |
109 | m | 0x6D | 01101101 | 字母 m |
110 | n | 0x6E | 01101110 | 字母 n |
111 | o | 0x6F | 01101111 | 字母 o |
112 | p | 0x70 | 01110000 | 字母 p |
113 | q | 0x71 | 01110001 | 字母 q |
114 | r | 0x72 | 01110010 | 字母 r |
115 | s | 0x73 | 01110011 | 字母 s |
116 | t | 0x74 | 01110100 | 字母 t |
117 | u | 0x75 | 01110101 | 字母 u |
118 | v | 0x76 | 01110110 | 字母 v |
119 | w | 0x77 | 01110111 | 字母 w |
120 | x | 0x78 | 01111000 | 字母 x |
121 | y | 0x79 | 01111001 | 字母 y |
122 | z | 0x7A | 01111010 | 字母 z |
123 | { | 0x7B | 01111011 | 左大括号 |
124 | | | 0x7C | 01111100 | 竖线 |
125 | } | 0x7D | 01111101 | 右大括号 |
126 | ~ | 0x7E | 01111110 | 波浪号 |
4. 缺点
随着全球化的发展,世界的发展进度,ASCII 的限制逐渐显现,因为它只能表示 128 个字符,你说表示个英文还阔以,但是你到东亚这边,来个中文,立马歇菜;故而 Unicode 则提供了一个包含世界上几乎所有文字和符号的标准。UTF-8 是一种可变长度的字符编码,它向后兼容 ASCII,使用 1 到 4 个字节来表示一个字符。
5. 参考
- 维基百科:ASCII