工具
指南

ASCII 字符表

参考手册

128 个标准 ASCII(0–127)码点速查:十进制、十六进制、字符、名称与 C 转义,可搜索。

100% 客户端 无后端
十进制 十六进制 字符 名称 转义 类别
本页内容

什么是 ASCII 字符参考表?#

ASCII 是支撑网络上几乎所有文本格式的 7 位字符集。它精确定义了 128 个码位——数字 0 到 127——并给每个码位赋予一个含义:一个可打印字形(字母、数字、标点)、一个控制信号(制表、换行、转义、那个曾经在电传打字机上真的敲响铃铛的 Bell),或夹在中间的空格字符。任何小于 128 的字节都是 ASCII 字符;而 UTF-8 又被刻意设计成前 128 个码位与 ASCII 完全重叠,所以纯 ASCII 文档自动就是合法的 UTF-8 文档。这就是为什么本页的字母、你键盘上的按键、一个 JSON 文件的字节,归根结底都是 ASCII。

别看它小,ASCII 里全是开发者反复要查的细节:空格的十进制码值是多少(32)、Esc 键的十六进制是多少(1B)、制表符的 C 转义怎么写(\t)、可打印范围从哪到哪。本页就是一张全 128 码位的可搜索表,列出十进制值、十六进制值、字形、名称、C 风格转义、所属类别。

怎么使用#

  1. 怎么记得就怎么搜。 搜索框接受好几种写法,按”最具体优先”的顺序尝试:
    • 带前缀或后缀的十六进制 —— 0x41 或 41h 按十六进制码位匹配(允许前缀匹配,所以 0x4 会列出所有以 4 开头的码位)。
    • 纯十进制 —— 65 直接跳到该码位。
    • 单个字符 —— 输 A 得到码位 65(区分大小写,A 和 a 是不同行)。
    • 单词 —— tab、escape、null 在名称、字形或转义串里全文匹配。
  2. 看行。 列依次是十进制(Dec)(码位十进制值)、十六进制(Hex)(两位 hex)、字符(Char)(字形本体,不可打印的控制符为空)、名称(Name)(标准名,如 “Line Feed”)、转义(Escape)(存在 C 风格转义时给出,如 \n)、类别(Category)(control、whitespace、printable)。

主要特性#

  • 全 128 个码位。 完整的 7 位范围,0 到 127,不漏一个、不多一个。
  • 三类划分与规范一致。 32 个控制符(0–31)加 DEL(127)、唯一的空白符(空格 32)、94 个可打印字符(33–126)——按类别分色,结构一眼可见。
  • 带 C 风格转义。 有专门写法的控制符给 \0、\a、\b、\t、\n、\v、\f、\r、\e;空格给 \s;DEL 给 \x7F。需要转义而不是数字时直接抄。
  • 搜索方式灵活。 十进制、十六进制(带 0x 或 h)、单字符、自由文本——你手上是哪种形式,就用哪种。
  • 离线、浏览器内运行。 整张表随页面下发,过滤即时、本地完成。

实例演示#

几个日常查询,靠搜索全都能找到:

  • 大写 A —— 搜 A,或 65,或 0x41。行内容:Dec 65,Hex 41,Char A,Name A,Escape(空,可打印字符没有 C 转义),Category printable。
  • 制表符 —— 搜 tab,或 9,或 \t(自由文本会匹配转义串)。Dec 9,Hex 09,Char 为空(控制符,不可打印),Name Horizontal Tab,Escape \t,Category control。
  • 换行(Line Feed) —— 搜 10 或 Line Feed。Dec 10,Hex 0A,Escape \n。它隔壁的 13 号是 Carriage Return(\r),两个合起来就解释了 \r\n 与 \n 的换行之争(见常见问题)。
  • Esc 键 —— 搜 Escape 或 27。Dec 27,Hex 1B,Escape \e。

关于范围有个要点:可打印字符从 32(空格)一直到 126(波浪号 ~)。空格以下 32 个码位(0–31)和 127 号(Delete)是控制字符——它们不打印字形,而是给终端或文本流发信号。记住这条边界是 ASCII 里最实用的一句常识:32 到 126 的任何字节是可见(或空格)字符,32 以下或 127 是控制符。

常见问题#

为什么只有 128 个字符?#

ASCII 当初是按 7 位设计的,而 2 的 7 次方正好是 128——这就是整个范围,0 到 127。范围之外的字符(带重音的字母、西里尔字母、中日韩文字、emoji)都不属于 ASCII,它们属于扩展字符集(如 Latin-1),或在现代 Web 上属于以 UTF-8 编码的 Unicode。巧的是,UTF-8 把前 128 个码位编码得跟 ASCII 一模一样,所以纯 ASCII 文本天生就是合法 UTF-8。

\r\n 还是 \n,到底哪个是换行?#

两个都存在,是不同的码位。\n 是换行(十进制 10);\r 是回车(十进制 13)。Windows 沿用老式电传打字机的约定,两个一起用(\r\n)结束一行;Unix 和现代 Mac 只用 \n。这就是为什么在严格的 Unix 编辑器里打开 Windows 文本文件,行尾可能出现 ^M 残影,也是 Git 之所以有 core.autocrlf 设置的根本原因。

0x41 和 41h 有什么区别?#

没区别——它们是同一个十六进制数的两种常见写法。0x41 是 C/Java/JavaScript 的前缀风格;41h 是汇编语言的后缀风格。本参考两种都收,后面跟不跟字符都行,你源码里是哪种就直接粘哪种。

码位 0 是什么?#

是 Null——全零字节。在 C 里它终结字符串(“空终止符”);在不少协议里被保留或禁止;作为字符它什么也不打印,表里归在 control 类、转义 \0。它跟数字零(十进制 48)、空格字符(十进制 32)是三码事,这是一个常见的混淆点。