指南

Base64 编码:完整指南

Base64 编码是计算中的一项基本技术,它将二进制数据转换为 ASCII 文本。虽然这个概念看起来很简单,但了解何时以及如何正确使用 Base64 对于 Web 开发者、安全专业人员以及任何处理数据传输的人来说都至关重要。

什么是 Base64?

Base64 是一种二进制到文本的编码方案,使用一组 64 个可打印的 ASCII 字符来表示二进制数据。这个名称来自使用的 64 个字符:A-Z(26 个)、a-z(26 个)、0-9(10 个)以及 + 和 /(使用 = 进行填充)。 Base64 的主要目的是对二进制数据进行编码,以便通过基于文本的系统安全传输。电子邮件、URL 和 JSON 是为文本设计的,可能会损坏二进制数据。Base64 将二进制转换为安全文本。 Base64 获取输入的每 3 个字节(24 位)并将它们转换为 4 个 Base64 字符(每个 6 位)。这意味着大小增加约 33%。填充用 = 处理非 3 倍数的输入。 Base64 不是压缩——它会增加大小。它不是加密——任何人都可以立即解码。它纯粹是为了字符安全性的格式转换。

常见使用场景

数据 URI 将图像直接嵌入 HTML/CSS 中:<img src="data:image/png;base64,...">。这减少了小图像的 HTTP 请求,但会增加大小。 JSON API 使用 Base64 处理二进制数据,如上传的图像或文件。电子邮件附件使用 Base64(MIME)处理二进制文件。HTTP 基本身份验证以 Base64 编码凭据。 JWT 令牌对标头、有效负载和签名使用 Base64URL 编码。浏览器 localStorage 存储 Base64 编码的二进制数据,因为它仅支持字符串。 Base64 适用于嵌入、传输和序列化——不适用于安全性。

Base64 开销

Base64 将每 3 个字节转换为 4 个字符:大小增加 33.33%。1 MB 文件变为 1.33 MB。在选择使用 Base64 时考虑这种开销。 可接受的开销:10-20 KB 以下的小图标、SVG、关键资产、电子邮件附件、简单性很重要的 API 有效负载。 有问题的开销:大图像、高频 API、带宽有限的移动设备、大规模存储。 压缩可以抵消一些开销。缓存考虑很重要——内联 Base64 无法单独缓存。

试用工具

Base64编码/解码器

Base64编码/解码器

了解更多

常见问题

Base64编码/解码器

常见问题