十六进制解码
将十六进制字节解码为 UTF-8、UTF-16、Latin-1 或 Windows-1252 文本。支持 48656C、48 65、0x48、\x48 和冒号等格式,并附十六进制转储表。
| 偏移量 | 字节数 | ASCII |
|---|---|---|
| 00000000 | 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 | Hello, World! |
把从抓包、调试器、数据库 BLOB 或日志文件中得到的十六进制字节粘贴进来,这个解码器就会把它们还原成可读的文本。它几乎接受任何格式——48656C6C6F、48 65 6C、48:65:6C、0x48,0x65 或 \x48\x65——可按 UTF-8、UTF-16、Latin-1 或 Windows-1252 读取字节,并显示经典的十六进制转储,方便核对偏移量。
使用方法
- 粘贴十六进制;分隔符以及 0x、\x 前缀会自动去除。
- 选择读取字节的编码,不确定时选 UTF-8。
- 查看解码后的文本,并用十六进制转储定位某个字节。
计算公式
byte = 16 × h₁ + h₂,然后 text = decode(bytes, encoding)
每两位十六进制数是一个 0 到 255 的字节。UTF-8 把 1 到 4 个字节合成一个字符,UTF-16 每个码元用 2 个字节(表情符号等增补字符用 4 个字节),Latin-1 和 Windows-1252 把每个字节恰好对应为一个字符。
示例
13 个字节 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 按 UTF-8 解码为 Hello, World!——0x48 是 H,0x2C 是逗号,0x20 是空格。两个字节 C3 A9 在 UTF-8 中是 é,但按 Latin-1 读取就变成 "é",这就是用错误编码打开 UTF-8 文件时常见的乱码。
常见问题
为什么结果里会出现 �?
因为这些字节不是有效的 UTF-8。数据可能使用了其他编码(请尝试 Windows-1252 或 UTF-16),也可能根本不是文本——压缩数据、图片和密钥都无法解码成可读的文本。
需要先去掉空格或 0x 前缀吗?
不需要。空格、逗号、冒号、连字符、0x、\x 和 % 都会在解码前被去掉,所以可以直接从代码或转储中粘贴十六进制。
Latin-1 和 Windows-1252 有什么区别?
除了 0x80–0x9F,它们对每个字节的解释都一致。Windows-1252 在这个范围放了可显示的字符,例如 0x80 处的 € 和 0x91–0x94 处的弯引号,而 Latin-1 在此处是不可见的控制码。
十六进制的位数是奇数怎么办?
每个用分隔符隔开的片段都必须由完整的两位字节组成。长度为奇数的单个片段,以及格式错误的字节组,都会被拒绝,而不会把数字拼接起来。无效的 UTF-16 代理项序列同样会被拒绝。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/hex-decoder/
引用此工具
kakaoCalc. (2026, November 8). 十六进制解码. https://kakao.mobile/zh/tools/hex-decoder/
“十六进制解码.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/hex-decoder/.