Base64 编码 / 解码

将文本或文件编码为 Base64 并解码还原:标准或 URL 安全字母表、填充控制、每 76 字符换行、图片预览。全部在浏览器中完成。

输入内容和文件始终留在浏览器中

输入要编码的文本,或粘贴 Base64 进行解码,也可以在下方拖放文件。

拖放文件到此处

如果选择了文件,将使用文件而非文本输入。

解码选项

编码或解码结果将显示在这里。

本页内容

无需上传任何内容,即可把文本或任意文件转换为 Base64 并还原。编码由 Rust 编译的 WebAssembly 模块在浏览器中完成;解码出的图片可直接预览,二进制数据可按正确的扩展名下载。

详细功能

文本先按所选字符集(UTF-8、UTF-16LE、UTF-16BE、ASCII 或 ISO-8859-1)转换为字节,再用 RFC 4648 标准字母表(+ 和 /)或 JWT、URL 参数使用的 URL 安全字母表(- 和 _)编码。= 填充可设为必需、可选或去除,输出还可以像 MIME 邮件要求的那样每 76 个字符换行。

解码时工具会检查得到的字节。可读文本显示在输出框中;PNG、JPEG、GIF、WebP、BMP、ICO、TIFF 和 SVG 图片以预览形式显示并给出像素尺寸;PDF、ZIP、GZIP、MP3、MP4 和可执行文件通过文件签名识别。所有非文本内容都可以用 下载 按匹配的扩展名保存,例如 decoded.png。

可以选择文件或把文件拖到页面上;选中文件时会忽略文本框。文件在 Web Worker 中按 1 MiB 分块读取,带进度条和 取消 按钮,但整个文件会保存在内存中,因此实际大小上限取决于设备内存。很长的结果在输出框中只显示预览,完整内容用 下载 保存。

实用示例

文本转 Base64:Hello, World! 编码为 SGVsbG8sIFdvcmxkIQ==;使用 UTF-8 时,Привет 变为 0J/RgNC40LLQtdGC(输入 12 字节,输出 16 个字符)。

URL 安全且无填充:<<???>> 用标准字母表得到 PDw/Pz8+Pg==,选择 URL 安全 (-_) 和 无填充 后得到 PDw_Pz8-Pg,这正是 JWT 各段的格式。

无填充输入:在默认的 必需 填充下解码 SGk 会报错;把 填充 改为 可选 后结果为 Hi。

Base64 转图片:粘贴 PNG 文件的 Base64(以 iVBORw0KGgo 开头)会显示图片及尺寸,例如 1×1 px,下载 会将其保存为 decoded.png。

如何使用此工具

  1. 输入文本或选择文件

    在 输入(文本) 中输入或粘贴文本,或将文件拖到页面上、点击 选择文件。选中的文件优先于文本。

  2. 设置选项

    选择 文本字符集(通常为 UTF-8)、字母表(标准 (+/) 或 URL 安全 (-_))、填充,MIME 邮件还可将 换行 设为 76 字符。

  3. 编码或解码

    点击 编码 得到 Base64,或点击 解码 还原为文本、图片预览或二进制文件。出错时提示会说明原因,例如非法字符或填充错误。

  4. 复制或下载结果

    复制 将输出放入剪贴板,下载 将其保存为文件。交换 会把输出移回输入框,便于做往返校验。

提示和最佳实践

  • Base64 会让数据增大约 33%:每 3 个字节变成 4 个字符。它是编码而不是加密,任何人都能解码。
  • 解码 data URI 前请去掉 data:image/png;base64, 前缀,解码器只接受 Base64 部分。
  • JWT 的头部和载荷使用无填充的 URL 安全字母表:选择 URL 安全 (-_) 和 可选 填充,eyJhbGciOiJIUzI1NiJ9 即解码为 {"alg":"HS256"}。
  • 保持 允许空白字符/换行 开启,可解码邮件或 PEM 文件中带换行的 Base64;关闭它可检查输入是否为干净的一行。
  • 字符集很重要:é 在 UTF-8 中是 w6k=,在 ISO-8859-1 中是 6Q==,解码时请使用与编码相同的字符集。
  • 页面打开过一次后,断网也能继续使用。