文本转 Hex
将文本转换为十六进制代码,或将十六进制解码回文本——100% 在浏览器中完成。
输入
输出
什么是十六进制编码?
十六进制(或 hex)是一种基数为 16 的数字系统,使用 16 个符号:数字 0–9 和字母 A–F。每个数据字节(8 位)可以表示为恰好两个十六进制数字,使十六进制成为表示二进制数据的紧凑且可读的方式。当文本被编码为十六进制时,文本 UTF-8 表示的每个字节都被写为两个字符的十六进制对。
十六进制编码广泛用于计算中表示二进制数据、颜色值、内存地址、加密哈希等。与 base64 不同,十六进制是人类可读的,易于直观检查——您可以准确看到存在哪些字节。本工具将每个 UTF-8 字节编码为以空格分隔的两位大写十六进制值,并且还可以将十六进制解码回文本。
十六进制编码如何工作
本工具在 UTF-8 字节级别工作。编码时,输入字符串使用浏览器内置的 TextEncoder API 转换为 UTF-8 字节,每个字节使用 byte.toString(16).padStart(2, "0") 转换为两位十六进制字符串。前导零是必不可少的——没有它们,像 5 这样的字节会变成 "5" 而非 "05",这会破坏解码。十六进制对以空格分隔以提高可读性。
解码时,工具首先从输入中去除所有非十六进制字符(空格、换行符、0x 前缀等),然后使用 parseInt(pair, 16) 将十六进制数字对解析回字节,最后使用 TextDecoder 将字节数组解码回文本。这意味着您几乎可以粘贴任何格式的十六进制——有空格或无空格、有 0x 前缀、跨多行换行——它都能正确解码。
何时使用文本转 Hex
将文本转换为十六进制在多种实际情况中有用:
- 调试和检查。检查字符串的原始字节以排查编码问题或验证字节数据。
- 数据表示。以安全传输和存储的格式表示二进制或文本数据。
- 密码学。比较哈希值、检查密钥材料或处理编码的有效载荷。
- Web 开发。处理 URL 编码数据、颜色值或字节级协议。
- 教育。学习字符在 UTF-8 中如何以字节级别表示。
十六进制编码不是加密——任何人都可以解码——所以绝不要用它来保护秘密。
如何将文本转换为十六进制
使用本工具将文本转换为十六进制只需一秒钟,完全在浏览器中完成。请按以下三步操作:
- 选择模式。使用单选按钮选择"文本 → Hex"进行编码,或"Hex → 文本"进行解码。
- 粘贴输入。在输入框中输入或粘贴文本(编码模式)或十六进制字符串(解码模式)。
- 点击"转换"并复制。结果出现在输出框中。点击"复制"复制它,或"清空"重新开始。
由于转换通过 JavaScript 本地运行,输入永远不会离开浏览器。这使得本工具适合处理机密字符串。
使用十六进制的技巧
编码时,输出使用以空格分隔的大写十六进制对(例如"48 69"),这是最常见且最可读的格式。如果需要小写十六进制或不同的分隔符,可以在复制后调整输出。解码时,工具很灵活:接受有空格或无空格、有 0x 前缀、小写或大写、甚至多行输入的十六进制。
请注意,每个 UTF-8 字节恰好变为两个十六进制数字。像"A"这样的 ASCII 字符是一个字节("41"),但中文字符是三个字节(六个十六进制数字),许多表情符号是四个字节(八个十六进制数字)。这就是为什么非英语文本的十六进制输出比英语文本长得多。最后,请记住十六进制编码是可逆的但不安全——它不提供任何机密性。
这个文本转 Hex 转换器免费吗?
是的,完全免费,无需注册、无水印、除设备内存外无任何限制。
支持中文、日语和表情符号吗?
支持。本工具在 UTF-8 字节级别工作,因此中文字符、日语假名和汉字、表情符号和任何其他 Unicode 字符都能正确编码。每个 UTF-8 字节变为一个两位十六进制对。
为什么我的十六进制字符串解码失败?
最常见的原因是十六进制数字个数为奇数——十六进制必须成对出现。工具会自动去除非十六进制字符,因此空格和前缀不会导致错误,但缺少或多余的数字会。
我的文本会被上传吗?
不会,所有转换均在本地进行,文本永远不会离开浏览器,因此可以安全地粘贴机密字符串。