← 返回首页

Base64 编码

功能亮点

编码 & 解码

文本 ↔ Base64 双向转换,自动处理 UTF-8 多字节字符。

即输即转

输入文本立刻得到编码结果,不需要点按钮。

纯本地运行

数据在你的浏览器中编解码,不会上传到任何服务器。

一键复制

编码或解码结果一键复制,粘贴到代码或文档中使用。

使用步骤

  1. 在输入框粘贴要编码/解码的文本;
  2. 点「编码」得到 Base64 字符串,或点「解码」还原原文;
  3. 点「复制」把结果复制到剪贴板。

Base64 不是加密

Base64 经常被误解为加密——但它的设计目的不是保密,而是让二进制数据能安全通过纯文本通道。每 3 个字节的原数据被编码为 4 个可打印 ASCII 字符(因此体积膨胀约 33%)。它没有密钥,任何人都可以解码。常见的应用场景:① 把图片小图标编码为 Data URL 内嵌在 HTML/CSS 中(减少 HTTP 请求);② 在 JSON 中传递二进制 Token;③ 邮件附件编码(MIME Base64);④ JWT Token 的编码层。如果你需要真正的数据保护,请用 AES-GCM 加密——Base64 只是包装纸,不是保险箱。

常见问题

Base64 编码后为什么比原文长了约 33%?
3 个字节(24 位)被重组为 4 个 Base64 字符(每字符 6 位)。所以体积 ≈ 原体积 × 4/3 ≈ 1.33 倍。这是 Base64 的固有开销——它牺牲了 33% 的空间来换取纯文本兼容性。
为什么 atob() 处理中文会乱码?
JavaScript 内置的 btoa()/atob() 只支持 Latin-1 字符集(0-255),直接喂中文会报错。正确做法是先用 encodeURIComponent() 将中文转为 % 编码,再 Base64。本工具内部已自动处理这个流程。
Base64 加密安全吗?
Base64 根本不是加密!它是一种编码方式,没有任何密钥参与,任何人都能轻松解码。它的唯一作用是保证数据在纯文本通道中不被损坏。需要加密请使用 AES-GCM(本网站「文本加密」工具)。