UPTools UPTools

Base64 编码解码

在线 Base64 编码与解码转换

本工具在浏览器本地运行,不会上传你的数据,保护你的隐私安全。

这是什么工具?

Base64 编码解码工具可以将文本转换为 Base64 编码,或将 Base64 编码还原为原始文本。支持 UTF-8 中文字符。所有操作在浏览器本地完成。适用于处理邮件附件、Data URL、API 数据传输等场景。

如何使用?

  1. 1 在输入框中输入需要编码或解码的文本
  2. 2 点击「编码」按钮将文本转为 Base64
  3. 3 点击「解码」按钮将 Base64 还原为文本
  4. 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,删掉可能导致严格解码器失败;保留即可。

参考与更新

最后更新:2026-06-22

相关工具