通过MCP连接 →

输入计算

请输入十六进制字节(空格、逗号或 0x 前缀都会被忽略)

数学公式

广告

结果

解码后的 ASCII / 文本
Hello
来自十六进制
已解码字节数 5

什么是十六进制转 ASCII 转换器?

十六进制转 ASCII 转换器能把十六进制数字还原成它们所代表的可读文本字符。计算机会把每个字符都存储为一个数字,而十六进制(16 进制)是书写这些字节值的一种简洁方式。本工具会读取你输入的十六进制内容,按两位一组拆分,将每一组转换为对应的数值,再把数值映射成字符——从而还原出原始文本。

使用方法

把你的十六进制字符串粘贴或输入到文本框中。字节之间可以用空格或逗号分隔,也可以写成一串连续的字符——工具还会自动忽略 0x 前缀。点击计算后,解码后的文本会立刻显示出来,并附上成功解码的字节数量。

计算原理

十六进制是 16 进制,因此两位十六进制数字正好表示一个字节,取值范围为 0 到 255。对于每一组 p,我们先用 int(p, 16) 得到十进制编码,再用 chr(code) 得到字符。

$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$

举个例子,字节对 48 等于 \(4\times16 + 8 = 72\),而编码 72 对应的字符就是大写字母 H

示意图展示十六进制字符串被拆分为两字符的字节对,每对映射到一个 ASCII 字符
每两位十六进制数字先转换为数值,再转换为对应的 ASCII 字符。

实例演示

以十六进制字符串 48 65 6C 6C 6F 为例,逐组转换:\(48 \to 72 \to \text{"H"}\),\(65 \to 101 \to \text{"e"}\),\(6C \to 108 \to \text{"l"}\),\(6C \to 108 \to \text{"l"}\),\(6F \to 111 \to \text{"o"}\)。拼接起来就是 Hello

常见问题

字节之间一定要加空格吗? 不需要。空格、逗号和 0x 前缀都是可选的,在解码前会被自动去除。

如果我输入的数字位数是奇数怎么办? 最后多出来的单个数字会被忽略,因为一个有效字节需要两位十六进制数字。

必须用大写还是小写? 大小写都可以——6c6C 的解码结果完全一致。

最后更新: