在代码里看到一长串 5bCP6bih5bel5YW3 这样的"天书"?那多半是 Base64 编码。
一、Base64 是什么
Base64 是一种把二进制数据(图片、文件、任意字节)翻译成纯文本字符(A–Z、a–z、0–9、+、/ 共 64 个)的编码方式。它不是加密,只是"换一种写法",目的是让二进制能在只认文本的环境里安全传输。
二、它都用在哪里
- 网页内嵌小图:
data:image/png;base64,xxxxx把图片直接写进 HTML/CSS,省一次请求; - 邮件附件:早期邮件只传文本,附件必须 Base64 后才能塞进去;
- 接口传文件:把图片/文件编码成字符串,随 JSON 一起提交;
- 简单混淆:让内容一眼看不出原文(但不是加密,谁都能解)。
三、在线编解码
用 Base64 编解码 工具:文本粘贴进去点"编码"即得 Base64,反过来粘 Base64 点"解码"还原。全过程在浏览器本地完成。
四、中文的坑(必看)
中文不能直接按"字"编码,要先转成 UTF-8 字节再 Base64。同一个"你好",用 GBK 和 UTF-8 编码出来的结果完全不同。所以编码和解码必须用同一套字符集,否则解出来是乱码。
💡 排查乱码: 解码出来是
ä½ å¥½ 这种怪字符,几乎都是"编码用 UTF-8、解码却按别的字符集"导致的。统一成 UTF-8 即可。五、常见疑问
Q:Base64 能当密码用吗?
不能。它可逆且无密钥,任何人都能秒解,只能算"轻度混淆"。
Q:编码后变长了?
是的,体积约膨胀 33%,所以大文件不适合 Base64。
广告位
此处为 Google AdSense 广告展示区,站点主粘贴本人发布商 ID 后自动展示。
此处为 Google AdSense 广告展示区,站点主粘贴本人发布商 ID 后自动展示。