DevFormatLab

Base64 编码 / 解码

文本 · 文件 · URL 安全

在浏览器内对文本与文件进行 Base64 / Base64URL 编码与解码。

48 字节 → 64 字符
输入有效
输出

所有编码与解码都在浏览器内进行,文件不会上传到任何服务器。

什么是 Base64?

Base64 是一种文本安全的二进制编码方式,使用 64 个字符(A-Z、a-z、0-9、+、/)来表示任意字节,使二进制数据可以在只允许文本的环境(JSON、URL、邮件、data: URI、HTTP 头)中安全传输。编码后体积约增大 33%,但可以保证字节不会在传输途中被错误解释。DevFormatLab 的 Base64 工具支持标准 Base64 与 URL 安全的 Base64URL(RFC 4648 §5,把 + 换成 -、/ 换成 _、可省略填充)。所有处理都在浏览器内通过原生的 btoa / atob 与 TextEncoder 完成,完整支持 Unicode。

功能特性

  • 对任意 UTF-8 文本或文件进行 Base64 编码
  • Base64 解码回文本——自动识别二进制结果并提供文件下载
  • 支持标准 Base64 与 URL 安全的 Base64URL(RFC 4648)
  • 实时处理,一键交换编码 / 解码方向
  • 解码前自动去除空白与换行
  • 实时显示输入与输出的字节数
  • 100% 浏览器运行——不上传、不追踪

使用步骤

  1. 在顶部选择方向:编码(文本 → Base64)或解码(Base64 → 文本/字节)。
  2. 在左侧粘贴输入;编码模式下也可点击「打开文件」加载本地二进制文件。
  3. 如果目标场景是 URL 或文件名,开启「URL 安全」选项(输出使用 - 与 _ 取代 + 与 /)。
  4. 在右侧查看或复制结果;当解码得到二进制数据时可下载为文件。

常见问题

我的数据会被上传吗?

不会。编码与解码全部使用浏览器内置的 btoa、atob 与 TextEncoder API 在本地完成。通过「打开文件」加载的文件由 File API 直接读取,不会离开你的设备。

Base64 与 Base64URL 有什么区别?

标准 Base64 使用 + 和 / 并以 = 填充。Base64URL(RFC 4648 §5)将 + 替换为 -、/ 替换为 _,并通常省略 = 填充,因此可安全用于 URL、JSON Web Token (JWT)、文件名与 HTTP 头中。

为什么解码后的文本是乱码?

你解码的 Base64 多半包含的是二进制数据(图片、压缩包、签名等),而不是 UTF-8 文本。本工具会自动识别这种情况,让你将字节下载为 .bin 文件——后缀请按实际类型自行修改。

支持完整的 Unicode(emoji、中文、日文)吗?

支持。编码前使用 TextEncoder('utf-8') 将输入转换为字节,解码后使用 TextDecoder('utf-8') 还原。emoji、中日韩等任意 Unicode 都可以无损往返。

有大小限制吗?

未设硬性限制,但超大文件(>50 MB)可能较慢,因为编码结果会全部驻留在内存中。常规配置、令牌与小图片基本秒出。

data:image/png;base64,... 是什么?

这是 Data URI,可将二进制资源直接内联在 HTML 或 CSS 中。在解码模式下,去掉前缀 data:...;base64,,把后续部分粘贴进来,即可还原为原始文件。

相关工具

Canonical: https://devformatlab.com/zh/base64