ASCII(American Standard Code for Information Interchange)是 1963 年就开始标准化的字符编码,用 0–127 共 128 个码位表示英文字母、数字、常用标点和 33 个控制字符。下面重点说明适用与不适用。
ASCII的优点和限制
纯英文且需要极老的系统兼容时可以用 ASCII;新系统一律用 UTF-8,它向下兼容 ASCII。
ASCII 与 Unicode:ASCII 是 Unicode 的前 128 个码点。ASCII 与 UTF-8:ASCII 字节在 UTF-8 中原样保存。ASCII 与 GBK:GBK 的单字节区也兼容 ASCII,但中文是双字节。
示例
输入:
编码结果:ASCII/Unicode 32(0x20),二进制 00100000
说明:标准 ASCII 是 0–127;该字符在 UTF-8 中仍是单字节,数值相同。
常见报错
- UnicodeEncodeError: 'ascii' codec can't encode:目标编码是 ASCII 却包含非英文字符,改用 UTF-8
- 串口乱码:两端波特率或是否使用 8 位数据位不一致
- 正则 \d 在 Unicode 模式下可能匹配非 ASCII 数字
Java 示例
下面是 Java 中处理ASCII的常用写法:
int c = (int) 'A'; // 65
char ch = (char) 65;运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的ASCII码表查询工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【ASCII 能表示中文吗?】不能。中文要用 GBK、Big5 或 Unicode/UTF-8。
【DEL 和 Backspace 是一个键吗?】不是。Backspace 是 8,DEL 是 127,历史含义不同。
【UTF-8 和 ASCII 混用会怎样?】纯 ASCII 文件本身就是合法 UTF-8;一旦出现非 ASCII 字节,必须按 UTF-8 或相应编码解读。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。