什么是文本转十六进制?

文本转十六进制工具将文本转换为十六进制字节。每个字符映射为对应的 hex 值,适用于调试、网络分析和二进制协议。

默认使用 UTF-8,因此带重音的拉丁字母、西里尔字母、中日韩文字、阿拉伯文和表情符号都会序列化为正确的字节序列;你也可以把编码切换为 UTF-16、ASCII 或 Latin-1,以匹配旧系统或协议。输出可用空格、冒号、逗号或不加分隔符来排版,可为每个字节加上 `0x` 前缀以生成 C 风格数组,并切换大小写。可以直接输入、从剪贴板粘贴,或上传文本文件。反向模式会把十六进制串解析回文本,并容忍多余空格或 `0x` 前缀。

使用方法

  1. 在输入框中输入或粘贴文本,点击粘贴按钮从剪贴板获取,或上传文本文件。
  2. 选择十六进制格式:编码(UTF-8、UTF-16、ASCII、Latin-1)、分隔符(空格、逗号、冒号、无)、前缀(0x)、大写或小写,以及可选的字节分组以获得十六进制转储布局。
  3. 复制十六进制输出用于代码或文档。也可以将 hex 反向转换回文本。

何时使用

  • 在通过二进制协议发送字符串之前,先核对它的原始字节。
  • 把非 ASCII 内容粘进 C、Rust 或 Go 源文件里,以字节数组形式存放。
  • 排查编码问题时,对比数据里的实际字节和你期望的字节。

结果

输入 'Hello World',得到空格分隔的 '48 65 6C 6C 6F 20 57 6F 72 6C 64',或使用 0x 前缀得到 '0x48,0x65,0x6C...'(适合 C 语言数组)。

常见问题

转换器使用哪种字符编码?
默认 UTF-8,并可在编码一行中选择 UTF-16、ASCII 和 Latin-1。在 UTF-8 中,普通 ASCII 字符各占一个字节(A → 41),而表情符号和中日韩文字会扩展为多个字节(😀 → F0 9F 98 80),这与文件、HTTP 正文和大多数 API 实际发送的内容一致。处理单字节旧文本时选 Latin-1,需要标记任何超过 7 位的内容时选 ASCII。
一个 emoji 为什么会变成四组 hex,而不是一组?
emoji 和很多非拉丁字符的码点超过 0x7F,UTF-8 会用 2、3 或 4 个字节表示一个字符。比如 🚀 对应四对 hex(F0 9F 9A 80),每一对就是这一多字节序列里的一个字节。
反向模式能识别混合分隔符吗?
可以。解码器会去掉 `0x` 前缀,忽略空格、逗号、冒号和短横线,把剩下的 hex 字符拼接起来。所以 `0x48,0x65 6C-6C:6F` 和 `48656C6C6F` 都能还原成 "Hello"。
加不加 `0x` 前缀有什么区别?
只是表示风格的差别。`0x48` 是 C、C++、Rust、Go 源码里的标准写法;不带前缀的 `48` 更常见于 hex dump、抓包和大多数网络工具。要粘进代码就加前缀,做日志输出就去掉。
输出可以直接用于哈希等密码学场景吗?
它给你的是 UTF-8 原始字节,正是大多数哈希和 HMAC 算法所需的第一步——这些算法处理的是字节而不是字符。把字节交给哈希工具即可。单独的 hex 串本身不是哈希值。

相关工具