Base64 转 Hex 转换器

Base64 和十六进制(hex)都是把原始字节写成可打印 ASCII 的方式,但它们暴露的细节不同。Hex 用两位清楚显示每个字节;Base64 更紧凑但更难读。从 Base64 转成 hex,常用于调试令牌、检查密钥指纹,或在偏好不同编码的工具之间比较字节序列。

转换如何工作

  1. 1

    粘贴 Base64 字符串

    支持标准、URL-safe,以及带或不带填充的 Base64。

  2. 2

    字符串解码为原始字节

    每 4 个 Base64 字符变成 3 个字节。

  3. 3

    每个字节表示为两位 hex

    可选择大写或小写输出。

  4. 4

    读取 hex

    可选择带空格、`0x` 前缀,或连续输出。

示例

Base64 SGVsbG8= 会解码为 5 字节:

Base64 字符 字节 Hex
SGVs 48 65 6C 48 65 6C
bG8= 6C 6F 6C 6F

所以 SGVsbG8= 的 hex 是 48 65 6C 6C 6FHello 的 ASCII)。

什么时候 hex 比 Base64 告诉你更多

  • 证书指纹 — SHA-1 和 SHA-256 指纹通常以带冒号的 hex 显示:AB:CD:...。把 Base64 编码的哈希转为 hex,可以逐字节匹配。
  • 密钥材料 — AES 密钥、HMAC 密钥、Ed25519 私钥通常在日志中以 hex 出现。同一个密钥的 Base64 看起来完全不同;转换后才能确认是否相同。
  • JWT 签名 — JWT 的 signature 段是 URL-safe Base64。转成 hex 后,很容易与调试日志中的期望值比较。
  • TLS 会话 ID / 握手数据 — Wireshark 以 hex 显示;你的应用可能以 Base64 记录。

输出格式选项

Base64:       SGVsbG8=
Hex (连续):   48656C6C6F
Hex (空格):   48 65 6C 6C 6F
Hex (0x):     0x48 0x65 0x6C 0x6C 0x6F
Hex (冒号):   48:65:6C:6C:6F
Hex (C):      \x48\x65\x6C\x6C\x6F

常见坑

  • URL-safe Base64 — 如果输入包含 -_,它是 URL-safe 变体。这个工具会自动接受两者。
  • 填充 — 接受带或不带末尾 = 的 Base64。解码器通常都能容忍。
  • 粘贴输入中的空白 — 解码前会去除换行和空格。

常见问题

是的,明显更长。Hex 每字节用 2 个字符;Base64 约为 1.33 个。因此 hex 比 Base64 长 50%,但 hex 中每个字节都清晰可见,而且编码大小写不敏感。

可以 — 使用 Hex → Base64 转换器。两个方向都会保留字节序列;变化的只是文本表示。

输入可能其实不是 Base64,可能含有其他字母表的字符(Crockford Base32、Base58),或被截断。检查来源;先尝试作为纯文本解码,看看是否有意义。

是的。Hex 和 Base64 都是字节的可往返表示;在两者之间转换会精确保留字节序列。

相关工具