免费使用 · 无需注册 · 数据本地处理

十六进制转换

文本转十六进制、十六进制转回文本,按 UTF-8 编码,支持空格分隔与 0x 前缀。

结果

使用指南

  1. 选方向

    「文字 → 十六进制」用于查看一段内容在内存里的样子,「十六进制 → 文字」用于还原抓包里抄下来的字节。

  2. 选输出格式

    空格分隔适合逐字节对照,连写适合贴进代码,带 0x 前缀适合从 C 或内存转储里抄来的数据。

  3. 核对字节数

    统计里的字节数能帮你判断中文是不是被当成 GBK 处理过,字节数比预期多就说明编码不对。

常见问题

为什么中文占了三个字节?

UTF-8 用变长编码:ASCII 范围(0 到 127)用一个字节,常用汉字用三个字节, rarer 的生僻字和 emoji 用四个。英文字母和数字各占一个字节,所以纯英文的十六进制长度是原文的两倍。

十六进制和 Base64 有什么区别?

十六进制是直接用 0 到 F 十个字符表示 4 位二进制,一个字节变两个字符,体积翻倍但完全可读可编辑;Base64 用 64 个字符表示 6 位二进制,一个字节变 1.33 个字符,压缩率更好但不可读。十六进制多用于调试和内存转储,Base64 多用于传输和嵌入数据。

解码出来的中文是乱码怎么办?

多半是编码对不上。十六进制本身不带编码信息,如果原数据是 GBK 而工具按 UTF-8 解,就会得到乱码。这个工具固定按 UTF-8 处理,因为它是现在的事实标准;遇到老系统导出的 GBK 数据需要另外用专门的编码转换工具先转一遍。

带 0x 前缀的格式能直接解码吗?

能。解码时会自动剥掉 0x 和 0X 前缀,空格、逗号、冒号、分号都当分隔符忽略,所以从 C 代码、内存转储或寄存器里抄出来的十六进制串可以直接粘进来。

更多在线工具