ASCLL码表

ASCII 码(十进制) 字符 类型 / 说明
0 NUL 控制字符(空字符)
7 BEL 控制字符(响铃,提示音)
8 BS 控制字符(退格键)
9 TAB 控制字符(水平制表符)
10 LF 控制字符(换行键)
13 CR 控制字符(回车键)
32 (空格) 可打印字符(空格符)
48 - 57 0 - 9 可打印字符(数字字符)
65 - 90 A - Z 可打印字符(大写英文字母)
97 - 122 a - z 可打印字符(小写英文字母)
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 ~ 可打印字符(波浪号)
127 DEL 控制字符(删除符)

ASCII 码与 Unicode 码的区别

ASCII 码和 Unicode 码都是字符编码标准,核心目标是将字符(如字母、数字、符号)映射为计算机可识别的二进制数据,但二者在覆盖范围、编码长度、设计目标上存在本质差异,以下从 6 个关键维度对比:

对比维度 ASCII 码 Unicode 码
设计目标 解决英语字符编码需求(基于拉丁字母) 解决全球语言字符统一编码问题(多语言兼容)
字符覆盖范围 仅包含 128 个字符(0-127 十进制):
- 控制字符(33 个,如换行、退格)
- 可打印字符(95 个,如英文字母、数字、基础符号)
无法支持中文、日文、阿拉伯文等非英语字符
覆盖全球几乎所有语言字符(超 14 万个):
- 包含 ASCII 全部字符
- 支持中文、日文、韩文、西里尔字母、 emoji 等
实现“一种编码,全球通用”
编码长度 固定 1 字节(8 位,但最高位恒为 0,实际仅用 7 位) 无固定长度,通过 UTF 系列编码方案实现:
- UTF-8:1-4 字节(兼容 ASCII)
- UTF-16:2 或 4 字节
- UTF-32:固定 4 字节
兼容性 仅兼容基于 ASCII 的系统,非英语场景完全不兼容 向下兼容 ASCII(ASCII 字符在 Unicode 中编码值完全相同,且 UTF-8 中仍用 1 字节表示)
应用场景 早期计算机系统、简单文本处理(如纯英文文档、早期编程语言) 现代软件、互联网、多语言文档(如网页、Office 文件、移动 App)
存储/传输效率 仅存英语时效率高(1 字节/字符),但无法处理多语言 英语场景与 ASCII 效率一致(UTF-8 下 1 字节),非英语场景需更多字节(如 UTF-8 中中文占 3 字节),但兼顾了多语言兼容性

ASCII 是“小而专”的英语字符编码,Unicode 是“大而全”的全球字符统一标准;现代开发中,ASCII 仅作为 Unicode 的子集存在,几乎所有场景都已使用 Unicode(尤其是 UTF-8)实现多语言兼容


Unicode 与 UTF 的关系

很多人会混淆“Unicode”和“UTF”,其实二者是“字符集”与“编码方案” 的关系

  • Unicode

    本质是“字符集”——定义了“每个字符对应一个唯一的数字编号(称为「码点」,如 A 对应 U+0041,中 对应 U+4E2D)”,但未规定这个编号如何用二进制存储

  • UTF(Unicode Transformation Format)

    是“编码方案”——解决 Unicode 码点的二进制存储/传输问题(如 UTF-8 用 1-4 字节存储码点,UTF-16 用 2-4 字节),是 Unicode 的“实现方式”

« 编译、预处理 ← 返回列表 操作符优先级顺序表 »