ASCII 转换器

在文本和 ASCII 码之间转换。支持十进制、十六进制、八进制和二进制格式。免费在线工具。

  • 在浏览器中处理
  • 数据不离开你的设备
  • 免费 · 无需注册
为「文本 → ASCII」选择十进制、十六进制、八进制或二进制。十六进制字母大写;0x、0o、0b 前缀标识对应进制。数值不补前导零。改变格式后再次点击「文本 → ASCII」进行转换。
输入文本后点击「文本 → ASCII」。每个 Unicode 码点生成一个数值。由多个码点组成的表情会生成多个数值;换行和制表符也会生成码值。
复制此框当前的完整内容,包括手动编辑的内容。复制失败时,请选中内容后手动复制。
输入以空白或逗号分隔的码值,再点击「ASCII → 文本」。可混合十进制、0x 十六进制、0o 八进制和 0b 二进制。每个码值必须完整有效,范围为 0–1114111,排除 55296–57343。
复制此框当前的完整内容,包括手动编辑的内容。复制失败时,请选中内容后手动复制。
ASCII 参考表(32–126)
CharDecHexCharDecHexCharDecHex
展开表格,查看可打印 ASCII 码 32–126 的十进制和十六进制值。SP 表示空格。转换器也能处理表格范围以外的码点。
阅读完整使用指南 ASCII 编码完全指南:字符、编码与 Unicode 的关系
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

转换示例

以下结果都由本工具的转换函数算出,状态行文字也与页面一致。

汉字转码值

在「文本」框输入 你好,格式选十进制,点击「文本 → ASCII」,得到:

20320 22909

状态行显示 已转换 2 个字符。。「你」和「好」都不在 ASCII 范围内,工具写出的是它们的 Unicode 码点。改选十六进制后再点一次按钮,会得到 0x4F60 0x597D。

码值转回汉字

把 0x4F60 0x597D 放进「ASCII / Unicode 码值」框,点击「ASCII → 文本」,结果是 你好。十进制和带前缀的写法可以混用,例如 72, 0x69 0o41 会得到 Hi!。

全角字母不是 ASCII

中文输入法在全角状态下打出的 ABC1 看起来像英文字母和数字,转换后却是:

65313 65314 65315 65297

半角的 ABC1 是 65 66 67 49。两者在 Unicode 里正好相差 65248(十六进制 FEE0)。表单校验、文件名或密码里混进全角字符时,用这个工具能一眼看出来。

中文逗号导致的报错

从中文文档里复制的码值常常用中文逗号分隔。输入 72,105 后点击「ASCII → 文本」,状态行显示:

Error: Invalid code: 72,105

工具只把空白和半角逗号当作分隔符,中文逗号连同两边的数字被读成一个码值。把它换成半角逗号或空格即可。全角空格属于空白,72 105 可以直接转换为 Hi。

码点和字节不是一回事

这个工具给出的是 Unicode 码点。保存文件时,同一个字在不同编码下的字节各不相同:「中」的码点是 20013(U+4E2D),UTF-8 字节是 E4 B8 AD,GBK 字节是 D6 D0。如果要看 UTF-8 字节,请使用二进制翻译器(文本转二进制)。

只有 0–127 这一段,码点、ASCII 码和 UTF-8 的单字节完全相同,所以英文、数字和半角标点的码点、ASCII 码和 UTF-8 字节都是同一个数。

换行与制表符

控制字符也按数字输出。「中」、换行、「文」三个字符转换为 20013 10 25991。Windows 上的文本文件,换行常常是 13 10(CR LF);制表符是 9。反向转换时输入 10,文本框里会出现真正的换行。

限制

  • 「文本 → ASCII」按 Unicode 码点处理。由多个码点组成的表情符号,例如 👍🏽(竖大拇指加肤色),会得到两个码值 128077 127997。
  • 「ASCII → 文本」接受 0 到 1114111(0x10FFFF)的码点。55296–57343(0xD800–0xDFFF)是代理项,不是字符,会提示 Code point out of range。
  • 不完全由该进制数字组成的码值,例如 72abc、1.5、0b102,会提示 Invalid code 并显示出错的那一项,修正之前不会转换。
  • 这两条错误提示在所有语言版本中都显示英文;转换成功时的计数提示会按页面语言显示。
  • 单个数字的进制换算、补码等需求请使用进制转换器。

什么是 ASCII?

ASCII(美国信息交换标准代码)是一种 7 位的字符编码标准,为 128 个字符分配 0–127 的数字,包括英文字母、数字、标点和控制字符。UTF-8 用一个字节表示 0–127 的字符,取值与 ASCII 相同(RFC 3629),所以纯英文的 ASCII 文件也是合法的 UTF-8 文件。

FAQ

支持哪些格式?

可以将 ASCII 码输出为十进制 (65)、十六进制 (0x41)、八进制 (0o101) 或二进制 (0b1000001) 格式,不补前导零。反向转换时按 0x、0o、0b 前缀识别进制,没有前缀的按十进制读取,所以 0101 是 101。

支持中文和其他 Unicode 字符吗?

支持。参考表只列出可打印 ASCII (32–126),转换器本身能处理全部 Unicode 字符,包括汉字和表情符号。每个字符输出的是 Unicode 码点,例如「中」是 20013,不是它的 GBK 或 UTF-8 字节。

如何输入多个码值?

用空格、半角逗号或换行分隔,并且可以混合格式:'72 0x65 0b1101100 0o154 111' 会转换为 Hello。

换行和制表符怎么显示?

和其他字符一样输出为数字:换行是 10,Windows 的换行是 13 10,制表符是 9。反向转换时,10 会在文本框里变成真正的换行。

数据会发送到服务器吗?

不会。转换在浏览器标签页中进行,输入的内容不会发送到服务器,也不会保存到浏览器存储。页面的统计只记录使用事件(工具名和点击的转换方向),不包含文字内容。

全角数字或中文逗号能当码值输入吗?

不能。码值必须是半角数字,输入法全角状态下打出的 72 会报 Invalid code;72,105 中间的中文逗号不算分隔符,整段被当成一个码值而报错。全角空格可以分隔,72 105 会得到 Hi。