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 的“实现方式”