Base64 编码与解码

文本会先转成 UTF-8 字节再编码,所以非英文内容既不会报错也不会乱码。解码时自动识别标准、URL 安全和分行的 Base64,输入不合法时会明确指出问题出在哪里。

在浏览器本地运行 开发者工具

base64 结果
边输入边在这里看到结果。

输入 - 输出 - 输出 ÷ 输入 -

内容不会离开本页。编码与解码都在当前标签页里用浏览器自带的 TextEncoder、TextDecoder 完成,你的设备上只保存上面三个选项的选择。

使用方法

  1. 选择「编码」或「解码」,在输入框中输入或粘贴内容;也可以把来源切换为「文件」选择文件,文件只在你的标签页里读取,不会上传。
  2. 编码时选择写法:带 = 补位的标准写法、base64url(用 - 和 _,无补位)或每行 76 字符的 MIME;解码时三种写法都会自动识别。
  3. 查看结果与体积说明:状态行会写出输入多少字节、输出多少字符,以及把结果再解码一次是否与输入完全一致。
  4. 用「复制结果」「下载 .txt」取走内容,或用「包装为 data: URL」在网页中嵌入图片或文件。解码出的字节不是文本时,会显示十六进制字节视图而不是乱码。

常见问题

为什么 btoa 处理中文或 emoji 会报错?

浏览器自带的 btoa 只接受码点小于 256 的字符,超出 Latin-1 的字符会直接抛错;而简单的绕法解码时会得到乱码。本工具先把文本编码为 UTF-8 字节,再对字节做 Base64,解码时按相反步骤还原,所以任何文字都能无损往返。

标准、base64url 与 MIME 有什么区别?

它们的数据相同,只是写法不同。标准写法使用 + 和 /,并用 = 补位;base64url 把它们换成 - 和 _ 并去掉补位,因此可以放进网址和 JWT;MIME 是把标准 Base64 按每行 76 个字符折行,常见于邮件。输出体积始终约为输入的 4/3。

我的文本或文件会被上传吗?

不会。两个方向都在当前标签页里用浏览器自带的 TextEncoder 和 TextDecoder 完成,文件也只在本机内存中读取。设备上只会记住你的三项选项。Base64 只是编码而不是加密,请不要用它来隐藏机密信息。

指南

相关工具