piapia123
zh

十六进制 ↔ 文本转换

编码

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

把一段十六进制还原成文本,或把文本编码成十六进制。输入认各种写法:空格、冒号、连字符、逗号分隔,带 0x 或 \x 前缀都行 —— 从抓包工具、调试器、代码里复制出来的形状不用先手工清理。文本按 UTF-8 处理,所以中文、日文、emoji 都能逐字节还原,同时给出字节数(一个汉字三个字节,一个 emoji 四个 —— 这解释了为什么「转成十六进制之后这么长」)。遇到不合法的 UTF-8 字节序列会明确报错,而不是用替换字符糊过去。

功能

  • 两个方向:文本编码成十六进制、十六进制还原成文本
  • 输入容错:空格、冒号、连字符、逗号分隔与 0x / \x 前缀都认
  • 输出可选分隔方式:空格、冒号、不分隔、0x 前缀,字母可大写
  • 按 UTF-8 处理多字节字符,中文、日文、emoji 都能正确还原
  • 给出字节数,多字节字符占几个字节一目了然
  • 非法 UTF-8 字节序列明确报错,不会静默替换成问号
  • 能当十六进制读的输入自动按十六进制解释,方向也可以手动钉死
  • 结果逐行可复制,取走十六进制或文本都是一次点击

使用方法

  1. 把十六进制串或文本粘进输入框
  2. 结果实时出现 —— 能当十六进制读就按十六进制解释,并在结果里注明
  3. 需要时把方向改成「文本 → 十六进制」或反过来
  4. 选择输出的分隔方式,点某一行的复制按钮取走结果

常见问题

为什么 beef 这类输入会报错?
因为它既可以读成两个字节(0xBE 0xEF),也可以读成一段文本。工具默认前者,而那两个字节不是合法的 UTF-8,所以报错并提示可以切换方向。把方向改成「文本 → 十六进制」,就能拿到 beef 这四个字母的十六进制 62 65 65 66。
为什么中文转成十六进制之后这么长?
因为 UTF-8 里一个汉字占三个字节,而每个字节写成十六进制又是两个字符 —— 一个汉字就是六个字符。结果里的「字节数」那一行就是给你核对这件事的:六个十六进制字符对应一个汉字,八个对应一个 emoji(四个字节)。
能解码 GBK 或 GB2312 编码的十六进制吗?
不能,这里只按 UTF-8 解码。GBK 的字节序列大多不是合法的 UTF-8,工具会明确告诉你「不是合法的 UTF-8」而不是显示一堆乱码 —— 用替换字符糊过去的话,你会拿着一份看起来正常、实际已经损坏的文本。
内容会被上传吗?
不会。整个转换在浏览器里完成,页面不发送任何请求 —— 十六进制串里常常是密钥、令牌或协议数据,它们不会离开这台设备。

相关工具