一块剪贴板ykjtb.com
文本处理

Base64 在线编码解码

把文字、网址或图片转成 Base64,也可以把 Base64 还原回来。支持中文,一键复制结果。

← 全部小工具

本工具 100% 在你的浏览器中运行,输入的内容不会上传到服务器,断网也能继续用。
等待输入
  • 编码后的结果体积约为原文的 4/3,长文本会明显变长。

  • Base64 是编码不是加密,任何人都能解码,不要用它保护密码或敏感信息。

  • 中文默认按 UTF-8 处理;如果解码出乱码,说明原文不是 UTF-8。

  • 结果要发到手机上?用 贴一块,手机扫码或输入取件码即可取走。

什么是 Base64,它解决什么问题

Base64 是一种把二进制数据转成纯文本的编码方式。它用 64 个可打印字符(A–Z、a–z、0–9,再加两个符号)来表示任意字节,因此可以让原本无法直接放进文本的数据——比如图片、文件内容——顺利通过只接受文本的通道传输。

它最常见的三个用途:在 HTML 或 CSS 里直接内嵌图片(Data URI,形如 data:image/png;base64,…);在邮件系统 MIME 中携带附件;以及把二进制数据塞进 JSON、XML 这类纯文本格式里。很多接口在传输参数时也会要求先做一次 Base64。

代价是体积:每 3 个字节会被编码成 4 个字符,结果比原文大约 三分之一。所以大文件不建议直接内嵌成 Base64,会让页面或接口明显变重。

Base64 是加密吗

不是。Base64 只是编码,规则完全公开,任何人拿到结果都能还原成原文。它唯一的作用是"让数据能当文本传",不提供任何保密性。如果目的是保护内容,需要用真正的加密算法(如 AES)并且妥善管理密钥;如果只是想在传输途中不被肉眼直接看到,Base64 够用,但请别把它当安全措施。

为什么中文编码后经常出问题

因为 Base64 处理的是字节,而中文在不同字符集下占的字节数不同。浏览器原生的 btoa() 只接受 Latin-1 字符,直接传中文会报错;正确做法是先把字符串按 UTF-8 编成字节,再做 Base64。本工具默认按 UTF-8 处理,所以中文、emoji 都能正常编解码。若你解码出的内容是一堆问号或乱码,通常说明原文是 GBK 等其他字符集编码的。

常见问题

Base64 编码和加密的区别是什么?

编码是格式转换,规则公开、可逆、无需密钥;加密是保密手段,需要密钥才能还原。Base64 属于前者,不能用来保护敏感数据。

为什么编码结果末尾有等号 = ?

等号是填充符。Base64 按 3 字节一组输出 4 个字符,原文长度不是 3 的倍数时,用 = 补足。末尾最多出现两个 =。

URL 安全模式是什么意思?

标准 Base64 用的 + 和 / 在 URL 里有特殊含义,直接放进网址会被改写。URL 安全模式把它们替换成 - 和 _,并去掉填充等号,适合放在链接参数里。

图片转 Base64 有什么限制?

本工具在浏览器本地处理,不限制文件数量,但建议单张控制在 2 MB 以内——体积越大转换越慢,生成的字符串也会很长,粘贴到代码里会影响可读性。

我输入的内容会被保存到服务器吗?

不会。所有计算都在你的浏览器里完成,页面不会把输入内容发送到任何服务器。你可以打开本页后断开网络,工具依然正常工作。