什么是Base64?
Base64是RFC 4648中定义的二进制到文本编码方案,使用64个可打印的ASCII字符表示二进制数据。算法将每3个字节(24位)转换为4个字符输出,产生约33%的大小开销。
Base64存在是因为许多协议只支持文本:SMTP、JSON、XML和URL都需要对二进制内容进行文本安全表示。
工作原理
算法每次处理3个字节,将其分成4组6位,并将每组映射到Base64字母表中的一个字符。当长度不是3的倍数时,添加填充字符(=)。
何时使用Base64?
- 将图片作为数据URI嵌入HTML/CSS
- 通过纯文本通道传输二进制数据
- HTTP Basic认证凭据
- 存储含有特殊字符的配置
Base64不是加密
Base64是编码,不是加密。无需密钥即可逆转。要保护数据,请使用TLS/HTTPS或真正的加密方式(如AES)。
常见问题
Base64是加密吗?
不是。Base64只是改变格式——任何人无需密钥即可解码。
大小会增加多少?
Base64数据比原始二进制数据大约大33%。