前端开发:data URI 嵌小图
网页里的小图标如果每个都单独请求,网络开销很大。把几 KB 的小图转成 Base64 直接写进 CSS,一次请求都省了,页面打开更快。
注意只适合小图,大图转 Base64 会让 CSS 体积暴涨,得不偿失。一般以 10KB 为界,小的内嵌、大的走正常图片请求。
接口调试:看一眼 token 里是什么
很多接口的 token 是 JWT,中间那段就是 Base64。解码看一眼,能快速确认用户身份、过期时间,排查「为什么 401」时特别有用。
注意 JWT 里的签名部分解不开也别硬解,那是防篡改的。只看载荷部分就够了,别把完整 token 贴到不可信的网站上。
邮件与文档:附件的幕后功臣
邮件附件本质上就是把二进制文件转成 Base64 塞进邮件正文。你收到的每封带附件的邮件,背后都有 Base64 在工作。
理解这一点后,遇到「附件损坏」类问题就多了一个排查思路:可能是传输中 Base64 文本被截断或转义了。
日常办公:塞进只认英文的表单
有些老系统表单只允许英文字符,中文地址、人名提交就报错。先把中文转成 Base64 再提交,入库后再解码,是常见的过渡方案。
还有人用它来传递不方便直接发的文本,比如把一段代码编码后贴进聊天框,避免被聊天软件的格式处理破坏缩进。
常见问题
data URI 会让网页变慢吗?
小图内嵌是变快的,省了请求开销;大图内嵌是变慢的,HTML 体积暴涨。分界线一般看 10KB 左右,小的才值得内嵌。
JWT 的三部分都能解码吗?
前两部分(头部和载荷)是 Base64,可以解码查看;第三部分是签名,用于校验,解不开也正常,不需要解。
邮件附件和 Base64 有什么关系?
邮件正文最初只支持纯文本,附件靠 Base64 把二进制转成文本来传输。现在你看到的每个邮件附件,底层都经过这一步。
普通人什么时候用得上?
收到一串看不懂的编码想还原、往老系统提交中文被拒、给开发同事传一段代码片段不被格式破坏,这几种情况掏出工具就行。