什么是Base64编码?
Base64是一种用64个字符表示任意二进制数据的方法。它将每3个字节(24位)的二进制数据编码为4个可打印的ASCII字符。因为不是加密,Base64编码后的内容可以轻松解码,它的目的是让二进制数据能够以文本形式安全传输。
Base64工作原理
Base64的编码表包含64个字符:A-Z、a-z、0-9、+ 和 /。编码过程如下:
- 将输入数据按每3个字节一组划分
- 每组24位被分成4个6位的单元
- 每个6位单元对应编码表中的一个字符
- 如果输入不是3的倍数,用=号填充
Base64编码表
编码表按顺序排列:
- 0-25: A-Z
- 26-51: a-z
- 52-61: 0-9
- 62: +
- 63: /
填充字符:=
常见应用场景
1. Data URI(内嵌图片)
Web开发中常见的使用方式,将小图片直接编码为Base64嵌入HTML或CSS中,减少HTTP请求:
<img src="data:image/png;base64,iVBORw0KGgo..." />
2. 邮件附件
MIME(多用途互联网邮件扩展)使用Base64编码邮件附件。由于邮件协议最初只支持文本,Base64允许在邮件中发送图片、PDF等二进制文件。
3. JWT令牌
JSON Web Token的三个部分(Header、Payload、Signature)都使用Base64URL编码(用-替换+,用_替换/,去掉=)。
4. API数据传输
在需要通过JSON传输二进制数据的API中,Base64是最常用的编码方式。例如,上传头像图片时,客户端可以将图片编码为Base64字符串发送。
Base64变体
- Base64URL:URL安全的变体,用-和_替代+和/,去掉末尾的=
- Base64 MIME:每76个字符后插入换行符
优缺点
优点:将二进制数据转为纯文本,兼容所有文本协议,无需担心字符集问题。
缺点:编码后体积增加约33%(4/3倍)。对于大文件,传输成本明显增加。
总结
Base64是一种简单但极其实用的编码方案。它不是加密手段,而是一种传输适配方案。理解Base64的原理和适用场景,可以在开发中做出更好的技术选择。
相关文章
BMI是什么意思?体重指数的由来、算法原理与3个局限性科普
BMI(体重指数)是什么?本文从凯特勒指数的历史由来讲起,梳理BMI计算原理,并科普它分不清肌肉脂肪、不反映脂肪分布等3个局限性,以及腰围、体脂率等补充指标该怎么用。
2026年8月13日BMI计算公式怎么算?公制英制公式详解+3个真实案例
BMI计算公式看似简单,但公制/英制换算、身高单位混用是最容易出错的地方。本文用170cm/65kg、160cm/70kg、65in/200lb三个真实案例手把手演示计算过程,并列出手工计算最容易踩的3个坑。
2026年8月12日BMI正常范围是多少?中国标准vs国际WHO标准,老年人孕妇特殊情况详解
BMI正常范围不只一套数字:中国标准18.5-24和WHO国际标准18.5-25存在差异,老年人、孕妇、健身增肌人群还要结合各自情况判断。本文一次讲清各类人群该怎么看BMI正常范围。
2026年8月12日评论功能开发中
敬请期待