首页 / 教程文章 / Base64 和 Hex 编码有什么区别?各自该用在哪里

Base64 和 Hex 编码有什么区别?各自该用在哪里

发布于 2026-08-18 09:00:00 · 1 阅读 · 标签:Base64,Hex,编码,开发者

Base64 每 3 字节变 4 字符、膨胀 33%,Hex 每字节变 2 字符、膨胀 100%。讲清两种编码的原理、可读性、使用场景与选择建议。

一、编码的本质:只是换一种写法

Base64 和 Hex(十六进制)都是编码而不是加密——它们只是把二进制数据换一种字符写法,任何人都能无损还原,没有任何保密性。这点必须先明确。

二、膨胀率对比:Base64 更省空间

同样一段二进制数据,两种编码后的长度差别很大:

例如 16 字节的 UUID:Hex 写法 32 个字符,Base64 写法只有 22 个字符。在 URL 长度敏感、存储体积敏感的场景,Base64 明显更划算。

三、可读性与调试:Hex 更友好

Hex 的优势是字节对齐:每 2 个字符一定是 1 个字节,肉眼看 Hex 就能直接读出每个字节的值。

四、典型使用场景

  1. 用 Hex 的地方:MD5/SHA 哈希值展示、颜色值(#FF5733)、MAC 地址、二进制文件查看、智能合约地址。
  2. 用 Base64 的地方:邮件附件(MIME)、Data URI 内嵌图片、HTTP Basic 认证、JWT 的三段载荷、API 传输二进制。
  3. URL 里用 Base64:标准 Base64 的 +/= 在 URL 中有特殊含义,要换成 URL Safe 变体(-_ 代替 +/)。

在线体验

不用装任何环境,直接用本站Base64 编解码工具在线操作,数据都在浏览器本地处理,方便又安全。

常见问题

Base64 能当加密用吗?

不能。Base64 只是编码,算法完全公开,任何人都能一步还原。需要保密请用 AES 等真正的加密算法,Base64 最多用于「不可见明文」的场合。

为什么哈希值都用 Hex 显示而不用 Base64?

习惯与可读性:Hex 每两字符对应一个字节,便于人工比对和分段;且哈希长度固定(MD5 恰好 32 个 Hex 字符),用 Hex 更整齐。

Base64 编码后为什么有时结尾有一两个 = ?

Base64 以 3 字节为一组编码成 4 字符,输入长度不是 3 的倍数时用 = 补位:差 1 字节补 1 个 =,差 2 字节补 2 个。解码时 = 会被自动去掉。

更多文章