跳转到正文

文本转十六进制转换工具

输入文本,即可查看其 UTF-8 字节的十六进制形式;或粘贴十六进制,即可读出它所拼出的文本。带重音符号的字母和表情符号都能正确地往返转换,您还可以选择带空格、连续排列或带 0x 前缀的输出,字节数会一并显示。免费,无需注册,转换在您的浏览器中完成。

转换方向

十六进制输出分组

如何使用文本转十六进制转换工具

  1. 1. 选择方向。 自动检测只会解码明显是十六进制的输入,即以空格分隔的两位字节(48 65 6c)或带 0x 前缀的字节;其他内容都会被编码。文本 → 十六进制和十六进制 → 文本会强制指定方向,结果标题会说明实际进行的是哪种转换。
  2. 2. 选择十六进制分组。 带空格分隔(48 65)、连续排列(4865)或带 0x 前缀(0x48 0x65)。这只影响文本转十六进制的输出。
  3. 3. 输入或粘贴。 结果和字节数会随您的输入实时显示。
  4. 4. 复制。 复制结果会复制输出;清除会清空输入框。

文本如何变成十六进制

计算机以字节的形式存储文本,一个字节是八位二进制数,恰好对应两位十六进制数字,因为每位十六进制数字代表四位二进制数。本工具首先按 UTF-8 对您的文本进行编码(RFC 3629),每个字符占用一到四个字节,然后将每个字节写成两位小写十六进制数字。普通 ASCII 字符只占一个字节,并保持熟悉的数值,因此 A 为 41。其他字符占用的字节更多:

字符码位UTF-8 字节(十六进制)字节数
AU+0041411
éU+00E9c3 a92
☕U+2615e2 98 953
😀U+1F600f0 9f 98 804

这就是为什么十六进制输出可能比文本更长,也解释了它为何不同于 ASCII 转换工具 给出的十进制字符编码:é 是单个码位 233,但对应的是两个字节 c3 a9。

示例

输入

Hello, World!

带空格分隔

48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21

连续排列

48656c6c6f2c20576f726c6421

带 0x 前缀

0x48 0x65 0x6c 0x6c 0x6f 0x2c 0x20 0x57 0x6f 0x72 0x6c 0x64 0x21

大小

13 字节

反向转换时,63 61 66 c3 a9 解码为 café,e2 98 95 解码为 ☕。解码时,空格、逗号、换行符和 0x 前缀都会被忽略,因此您可以直接粘贴来自调试器、数据包转储或源代码的十六进制;剩下的内容必须是成对的十六进制数字。

读懂错误与异常结果

  • “输入内容包含非十六进制数字的字符。” 除分隔符和 0x 外,输入中含有 0–9 和 a–f(大小写均可)之外的字符。
  • “十六进制输入的位数为奇数。” 每个字节需要两位数字,因此缺少或多出一位数字都会使位数变为奇数。请检查是否丢失了前导零(5 应为 05)。
  • 替换字符(�)。 不是有效 UTF-8 的字节(例如单独的 ff)会被解码为替换字符,而不会报错。如果您期望得到文本,这些数据可能是其他编码,或者根本不是文本。
  • 自动检测需要分隔符才能识别十六进制。 像 cafe、dead 或 2024 这样的单串内容,既可能是单词或数字,也可能是十六进制,因此会被当作文本编码。连续排列的十六进制(如 48656c6c6f)同样会被当作文本:请为其选择十六进制 → 文本,或用空格分隔字节。
  • 输出为小写。 如果您的目标场景需要大写,请在编辑器中更改大小写。

您需要哪个工具?

同样的文本“Hi”工具
48 69 — 十六进制字节本页工具
01001000 01101001 — 8 位二进制字节二进制翻译工具
72 105 — 十进制字符编码,并附 ASCII 表ASCII 转换工具
SGk= — Base64、URL 编码、HTML 实体文本编码与解码工具
在不同进制之间转换数字,例如将 255 转为 FF进制转换器

常见问题

如何将文本转换为十六进制?
将方向设为“文本 → 十六进制”(或保持“自动检测”),然后输入或粘贴文本。每个字符都会被编码为 UTF-8 字节,每个字节显示为两位十六进制数字,因此 Hi 会变为 48 69。
如何将十六进制转换为文本或 ASCII?
将方向设为“十六进制 → 文本”,然后粘贴十六进制。空格、逗号、换行符和 0x 前缀都会被忽略;剩余的数字必须是偶数个。字节会按 UTF-8 解码,对于普通 ASCII 字节,结果正好是 ASCII 文本。
有哪些分组格式可用?
带空格分隔(48 65)、连续排列(4865)和带 0x 前缀(0x48 0x65)。选择十六进制 → 文本时,三者解码回来的结果完全相同(自动检测能识别带空格分隔和带 0x 前缀的形式,但会把连续排列的十六进制当作文本),因此请按目标场景选择:阅读时用带空格分隔,代码字符串用连续排列,源代码用带前缀的形式。
转换工具使用哪种编码?
UTF-8。ASCII 字符各占一个字节;带重音符号的字母、符号和表情符号占用两到四个字节。UTF-16 或 Latin-1 等其他编码会为非 ASCII 文本生成不同的字节。
为什么我的十六进制被编码而不是解码?
自动检测只会解码以空格分隔的两位字节或带 0x 前缀的字节,因为像 cafe 或 2024 这样的单串内容同样可能是单词或数字。像 48656c6c6f 这样的连续排列十六进制会被当作文本编码;请将方向切换为十六进制 → 文本来解码。
为什么解码后的文本中出现 �?
您粘贴的字节不是有效的 UTF-8。对于每个无效序列,工具会显示替换字符,而不会猜测为其他编码。
我的文本会被发送到服务器吗?
不会。转换使用浏览器内置的 TextEncoder 和 TextDecoder,您输入的任何内容都不会离开您的设备。

相关工具

数据、标记语言与代码中的更多工具