最全ASCII码表与说明
一、ASCII码
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码标准,用于计算机和通信设备之间的文本数据交换。它最初包含128个字符(7位编码),后扩展为8位(支持256个字符),但核心部分仍为前128个字符。
二、ASCII码表(0-127)
| 十进制 | 十六进制 | 字符 | 描述 |
|------------|--------------|----------|---------------------------|
| 0 | 0x00 | NUL | 空字符(Null) |
| 1 | 0x01 | SOH | 标题开始(Start of Header)|
| 2 | 0x02 | STX | 文本开始(Start of Text) |
| 3 | 0x03 | ETX | 文本结束(End of Text) |
| 4 | 0x04 | EOT | 传输结束(End of Transmission)|
| 5 | 0x05 | ENQ | 请求(Enquiry) |
| 6 | 0x06 | ACK | 确认(Acknowledge) |
| 7 | 0x07 | BEL | 响铃(Bell) |
| 8 | 0x08 | BS | 退格(Backspace) |
| 9 | 0x09 | TAB | 水平制表符(Tab) |
| 10 | 0x0A | LF | 换行(Line Feed) |
| 11 | 0x0B | VT | 垂直制表符(Vertical Tab)|
| 12 | 0x0C | FF | 换页(Form Feed) |
| 13 | 0x0D | CR | 回车(Carriage Return) |
| 14 | 0x0E | SO | 移出(Shift Out) |
| 15 | 0x0F | SI | 移入(Shift In) |
| 16 | 0x10 | DLE | 数据链路转义(Data Link Escape)|
| 17-31 | 0x11-0x1F | (控制字符)| 设备控制(如XON/XOFF) |
| 32 | 0x20 | SPACE | 空格 |
| 33-47 | 0x21-0x2F | !"#$%&'()*+,-./ | 标点符号 |
| 48-57 | 0x30-0x39 | 0123456789 | 数字 |
| 58-64 | 0x3A-0x40 | :;<=>?@ | 标点符号 |
| 65-90 | 0x41-0x5A | A-Z | 大写字母 |
| 91-96 | 0x5B-0x60 | []^_` | 标点符号 |
| 97-122 | 0x61-0x7A | a-z | 小写字母 |
| 123-126 | 0x7B-0x7E | {|}~ | 标点符号 |
| 127 | 0x7F | DEL | 删除(Delete) |
三、扩展ASCII码(128-255)
扩展部分因编码标准不同(如ISO-8859-1、Windows-1252)而有所差异,常见字符包括:
- 128-159:控制字符或保留。
- 160:不间断空格(NBSP)。
- 161-172:¡¢£¤¥¦§¨©ª«¬等符号。
- 173:软连字符。
- 174:注册商标符号®。
- 175:长划线(macron)。
- 176-255:包含货币符号(€)、数学符号(±)、带重音字母(é、à)等。
四、关键说明
-
控制字符(0-31, 127)
- 用于设备控制(如换行、响铃),不可打印。
- 示例:
LF
(换行)在Unix系统中表示行结束。
-
可打印字符(32-126)
- 包含字母、数字、标点符号,可直接显示。
- 示例:
A
的ASCII码为65,a
为97。
-
大小写转换
- 大写字母与小写字母的ASCII码相差32(如
A
=65,a
=97)。
- 大写字母与小写字母的ASCII码相差32(如
-
编码扩展
- 扩展ASCII码支持更多符号,但兼容性因系统而异。
- 示例:
€
在ISO-8859-15中为164,在Windows-1252中为128。
-
应用场景
- 文件存储、网络通信(如HTTP协议)、编程语言(如C语言中的字符处理)。
五、示例代码(Python)
```python
获取字符的ASCII码
print(ord('A')) # 输出: 65
print(ord('a')) # 输出: 97
通过ASCII码获取字符
print(chr(65)) # 输出: A
print(chr(97)) # 输出: a
```
六、注意事项
- 编码兼容性:不同系统对扩展ASCII码的实现可能不同,建议使用Unicode(如UTF-8)以避免乱码。
- 历史局限性:ASCII仅支持英语字符,其他语言需依赖扩展编码或Unicode。
:ASCII码是计算机文本处理的基础,核心部分(0-127)具有广泛兼容性。扩展部分因标准不同而有所差异,现代应用推荐使用Unicode以支持多语言文本。