Base64 编码解码
在线 Base64 编码与解码转换
这是什么工具?
Base64 编码解码工具可以将文本转换为 Base64 编码,或将 Base64 编码还原为原始文本。支持 UTF-8 中文字符。所有操作在浏览器本地完成。适用于处理邮件附件、Data URL、API 数据传输等场景。
如何使用?
- 1 在输入框中输入需要编码或解码的文本
- 2 点击「编码」按钮将文本转为 Base64
- 3 点击「解码」按钮将 Base64 还原为文本
- 4 点击「复制」按钮复制结果
常见问题
支持中文吗?
支持,工具使用 UTF-8 编码,可以正确处理中文字符的 Base64 编码和解码。
Base64 编码后字符串会变长吗?
是的,Base64 编码后的字符串大约比原始数据大 33%,这是 Base64 编码的特性。
数据安全吗?
所有操作在浏览器本地完成,不会上传到服务器。Base64 是编码方式,不是加密,不适合用于保护敏感数据。
适用场景与示例
- 前端把小图标转成 Data URL 内联进 HTML/CSS,减少 HTTP 请求
- 在 JSON/HTTP 接口中传输二进制数据(如签名、指纹、小文件)
- 邮件附件用 Base64 编码后随 MIME 传输
- 在不支持二进制的纯文本协议里安全携带二进制内容
输入
hello
输出
aGVsbG8=
💡 注意末尾的 = 是 padding(填充符),不是乱码。
原理与常见错误
Base64 用 64 个可见字符(A-Z、a-z、0-9、+、/,末尾不足用 = 填充)来表示任意二进制数据。它把每 3 个字节编码成 4 个字符,因此编码后的体积会比原始数据大约 33%。Base64 是「编码」而非「加密」——任何人都能解码,绝不能用来保护密码等敏感信息。处理中文时要先用 UTF-8 编码成字节序列,再做 Base64,否则会乱码;浏览器原生的 btoa()/atob() 只支持 Latin1 字符,中文需配合 TextEncoder 或 encodeURIComponent 处理。
⚠️ 直接 btoa("你好") 报错
btoa 只支持 Latin1。中文需先用 TextEncoder 或 encodeURIComponent 转成 UTF-8 字节再编码。
⚠️ 解码后中文乱码
解码得到的字节要按 UTF-8 还原成字符串,而不是直接当文本读。
⚠️ 把 Base64 当加密用
它完全可逆且公开,不能保护敏感数据;需要保密请用真正的加密算法。
⚠️ 末尾的 = 被误删
= 是必要的 padding,删掉可能导致严格解码器失败;保留即可。
参考与更新
- RFC 4648 - The Base16, Base32, and Base64 Data Encodings
- MDN - Base64 术语
- MDN - window.btoa() / atob()
最后更新:2026-06-22