Base64是一种用64个可打印字符(A-Z、a-z、0-9、+、/)表示二进制数据的编码方式,常用于在文本协议中传输二进制数据。
编码原理:将3字节(24位)数据分成4组,每组6位,映射到64个字符。不足3字节时用=填充。
应用场景:
1. 邮件附件编码(MIME)
2. 图片内嵌HTML/CSS(Data URL)
3. API接口中传输二进制数据
4. 简单的数据混淆(非加密)
注意:Base64不是加密,只是编码,任何人都可以解码。需要安全请使用加密算法(AES、RSA等)。Base64编码后体积增大约33%。
A:=是填充符。当原始数据字节数不是3的倍数时,用=填充到3的倍数。1个=表示缺1字节,2个=表示缺2字节。
A:标准Base64用+和/,在URL中需要转义。URL安全Base64将+换成-、/换成_,并去掉填充=。
A:优点:减少HTTP请求,可直接内嵌HTML/CSS。缺点:体积增大约33%,无法被浏览器缓存,大图片不建议使用。适合小图标(<10KB)。