在线 ASCII 码表查询工具,查看完整 ASCII 字符集和对应编码值
使用场景
程序员几乎每天都会用到 ASCII 码表,尤其是做底层开发或者通信协议的时候。比如你在调试串口通信,收到一堆字节 0x48 0x65 0x6C 0x6C 0x6F,想快速知道这些十六进制对应什么字符。翻开 ASCII 表一对就明白了——原来是 “Hello”。嵌入式开发、网络协议分析、二进制文件解析,这些都离不开 ASCII 码查询。
前端开发也经常用。比如你要限制输入框只能输入数字,用正则不好写的时候,直接判断 keyCode 在 48-57 之间就行。或者你想生成一个随机大写字母,从 65 到 90 之间随机取一个数再转成字符,查一下 ASCII 表就确定范围了。
学习编程的初学者也很需要。刚接触计算机原理的时候,要理解为什么字符在计算机里存的是数字,ASCII 表就是最好的直观教材。看看大写字母和小写字母差了多少,数字 0-9 又是从哪开始的,这些基础知识在实际写代码的时候经常遇到。
常见问题
问:ASCII 和 Unicode 是什么关系? 答:ASCII 是最早的字符编码标准,定义了 128 个字符(0-127)。Unicode 是更大的字符集,但前 128 个和 ASCII 完全一样,所以 ASCII 可以看作是 Unicode 的一个子集。你现在用的 UTF-8 编码,前 128 个字符就和 ASCII 完全一致。
问:为什么 A 是 65,a 是 97,中间差了 32? 答:这是故意设计的。大写字母和小写字母正好相差 32(0x20),所以在编程里把大写转小写只需要加上 32,小写转大写减掉 32 就行了。这种设计让大小写转换非常高效。
问:控制字符(0-31)现在还用得上吗? 答:有些仍然在用,比如 0x0A 是换行(LF)、0x0D 是回车(CR)、0x09 是制表符(Tab)。但是像 BEL(响铃)、ACK(确认)这些早期通信用的控制字符,现代应用里基本见不到了。