Hex 编码 / 解码
将文本或文件转换为十六进制并还原。可选字符集和大小写;解码时支持空格、冒号、连字符或 0x 前缀分隔的 hex。在浏览器中运行。
输入内容和文件始终留在浏览器中
输入要编码的文本,或粘贴十六进制数据进行解码,也可以在下方拖放文件。
拖放文件到此处
如果选择了文件,文本输入将被忽略。
编码或解码结果将显示在这里。
本页内容
把文本或任意文件转换为十六进制字符串,并把 hex 转储解码回文本或字节。转换由 Rust 编译的 WebAssembly 在浏览器中完成,文件内容不会上传。
详细功能
每个字节变成两个十六进制数字,因此输出能准确显示字符串包含哪些字节,便于检查 UTF-8 序列、BOM、换行符和不可见字符。文本按所选字符集(UTF-8、UTF-16LE、UTF-16BE、ASCII 或 ISO-8859-1)转换,Hex 大小写 可在 小写 和 大写 数字之间切换。
解码器接受从调试器、抓包结果和证书中常见的各种写法:连续的(48656c6c6f)、用空格或换行分隔的、用冒号或连字符分隔的(48:65:6c、48-65-6c),以及每个字节带 0x 前缀的(0x48 0x65)。在 解码选项 中可以逐项关闭这些宽松规则以进行严格校验。数字个数为奇数或出现非十六进制字符时会报错,并在输入框中选中出错的字符。
文件可以选择或拖到页面上,在 Web Worker 中读取,带进度条和 取消 按钮。如果解码出的字节在所选字符集中不是有效文本(例如二进制转储),工具会提示,并可用 下载 保存原始字节。
实用示例
文本转 hex:Hi! 变为 486921;使用 UTF-8 时,Привет 变为 d09fd180d0b8d0b2d0b5d182(12 字节,每个西里尔字母两个字节)。
字符集与字节序:字母 A 在 UTF-16LE 中是 4100,在 UTF-16BE 中是 0041。
带格式的 hex:48:65:6c:6c:6f、48-65-6c-6c-6f 和 0x48 0x65 0x6C 0x6C 0x6F 都解码为 Hello。
校验:48656c6c6(九位数字)会因被截断而被拒绝,4865zz 则提示第 5 个位置有非法字符。
如何使用此工具
输入文本或选择文件
在 文本 中输入或粘贴要编码的文本或要解码的 hex 字符串,也可以把文件拖到页面上或点击 选择文件。
设置字符集和大小写
选择把文本转换为字节所用的 文本字符集,以及输出的 Hex 大小写。在 解码选项 中保留或取消 忽略空白字符、允许分隔符(: 和 -) 和 允许 0x 前缀。
编码或解码
点击 编码 得到 hex,或点击 解码 把 hex 还原为文本或字节。输入无效时,错误信息会给出错误字符的位置。
复制或下载
复制 将结果放入剪贴板,下载 将其保存为文件;二进制结果只能下载。
提示和最佳实践
- Hex 会让数据大小翻倍:1 个字节变成 2 个字符。需要紧凑传输时用 Base64,hex 适合查看和比较字节。
- 想找出隐藏的 BOM 或不换行空格,可将文本按 UTF-8 编码:
efbbbf是 BOM,c2a0是不换行空格。 - 哈希值(SHA-256、MD5)也是 hex:解码得到的是原始字节而不是可读文本,请使用 下载。
- 需要确认输入是纯连续 hex 时,取消 允许分隔符(: 和 -) 或 允许 0x 前缀:此时
0x48会在第 2 个位置报错。 - 解码时不区分大小写:
D0 9f和d0 9F得到同一个字母П。