Base64 是什么?

Base64 是一种编码方式,它把任意二进制数据用 64 个可打印字符(A-Z、a-z、0-9、+、/)来表示。比如字符串 Hello 编码后变成 SGVsbG8=

编码原理:3变4

Base64 每 3 个字节(24位)一组,拆成 4 份(每份6位),每份映射到一个字符:

"Hel" = 0x48 0x65 0x6C
      = 010010 000110 010101 101100
      = 18, 6, 21, 44
      = S, G, V, s

这就是为什么 Base64 编码后的长度总是 4 的倍数——末尾的等号(=)是补位填充,1个等号表示缺1个字符,2个表示缺2个。

Base64 是加密吗?

不是。 这是最大的误区。加密需要密钥,没有密钥无法还原;而 Base64 任何人都能瞬间解码,它只是换了种"写法"。

Base64 的真正用途:

  1. 传输兼容:邮件、HTTP 中某些协议只支持文本,图片等二进制数据需要转成文本传输
  2. 数据嵌入:把小图标转成 DataURL 直接写进 CSS/HTML
  3. 简单混淆:让内容不直接可读(但防不住人)

常见问题

为什么编码后体积变大? 3字节变4字符,体积增加约33%,所以只建议对小文件使用。

中文会乱码吗? 取决于工具是否按 UTF-8 处理。我们的Base64编解码工具采用标准UTF-8,中文不会乱码,试试看。