ASCII 转文本转换器

给定像 72 101 108 108 111 这样的字符串,本转换器会把每个数字作为 ASCII 代码读取,并返回它拼出的文本,在这个例子中就是 Hello。它会根据输入自动检测进制(十进制、十六进制或二进制),容忍任何常见分隔符,并剥离 0x\x# 前缀,因此你可以直接从 C 源文件、十六进制转储或 CTF 题目中粘贴代码,无需先行清理。

转换器如何读取你的输入

  1. 1

    粘贴 ASCII 代码

    可用空格、逗号、分号、换行分隔;如果每个代码都是固定宽度,也可以不用分隔符。

  2. 2

    选择或自动检测进制

    十进制用于 0-127 的数字,十六进制用于两位一组,二进制用于 8 位一组。

  3. 3

    每个代码变成一个字符

    代码 65 是 `A`,0x61 是 `a`,00100000 是空格。

  4. 4

    读取解码后的文本

    不可打印的代码(NUL、BEL、DEL)会以方括号中的助记符显示。

转换器理解的输入格式

输入示例 进制
72 101 108 108 111 十进制
72,101,108,108,111 十进制
48 65 6C 6C 6F 十六进制
0x48 0x65 0x6C 0x6C 0x6F 十六进制
\x48\x65\x6C\x6C\x6F 十六进制(C 转义)
48656C6C6F 十六进制(无分隔)
01001000 01100101 01101100 01101100 01101111 二进制

控制代码的处理

ASCII 0-31 和 127 是不可打印的。根据目标用途,转换器可以把它们作为原始字节输出(便于构造协议字符串),也可以用尖括号中的助记符替代:<LF><CR><TAB><NUL><DEL>

超出 ASCII

如果你的代码大于 127,严格来说它们不是 ASCII。两种常见情况:

  • Latin-1 / Windows-1252 — 每个字符一个字节,128-255 的取值覆盖带重音的字母。
  • UTF-8 — 多字节,后续字节以 10xxxxxx 开头。像 C3 A9 这样的代码串会解码为 \u00e9

转换器默认把大于 127 的输入视为 UTF-8 字节,这覆盖了大多数现代文本。

反向转换

若要把文本转换为代码,请使用配套工具:文本转 ASCII、文本转二进制、文本转十六进制。

常见问题

如果每个代码都是固定宽度就可以:二进制为 8 位,十六进制为 2 位。十进制需要分隔符,因为十进制代码是 1 到 3 位,否则无法可靠地拆分。

输入中有些代码大于 127,且可能是无效的 UTF-8 字节序列。如果来源是较旧的文本文件或来自 Windows 系统的转储,可以尝试按 Latin-1 解码。

会。C 风格的转义(\x48)、C 字面量(0x48)、URL 百分号编码(%48)和汇编前缀($48)都会在解析前被剥离。

大于 127 的代码是有效的字节,但不是 ASCII。大于 255 的代码放不进一个字节,转换器会将其标记并跳过,而不是猜测。

相关工具