跳到正文
SPCXTools

Base64 编码 & 解码

将文本和文件与 Base64 格式相互转换,完全支持 UTF-8 和 Base64URL。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用Base64 编码 & 解码

  1. 1选择 编码 将文本转换为 Base64,或选择 解码 将 Base64 转换回文本。
  2. 2在输入框中键入或粘贴内容,输出会即时更新。
  3. 3如果结果将用于 URL、文件名或 JWT,请勾选 URL 安全 (Base64URL)。
  4. 4要编码文件,请在文件区域选择或拖放文件;勾选 数据 URL 以获取可粘贴到 HTML 或 CSS 中的字符串。
  5. 5复制结果,或在解码模式下将解码后的字节下载为文件。

Base64 编码器和解码器

Base64 是一种使用 64 个安全字符(A–Z、a–z、0–9、+ 和 /)来表示任何数据(如文本、图片、PDF、密钥等)的方法。本工具可将文本和文件编码为 Base64,也可将 Base64 解码回可读文本或原始文件。所有转换都在您的浏览器中即时完成,您粘贴或选择的任何内容都不会被上传。

功能简介

  • 将文本编码为 Base64,并正确处理 UTF-8,因此支持任何语言和表情符号。
  • 将 Base64 解码为文本,能容忍换行符、空格和缺失的填充符——这些在从电子邮件或日志中复制时很常见。
  • Base64URL 模式,用于输出 URL 安全的字符串,常用于 JWT、OAuth 和许多 Web API。
  • 文件转 Base64,可选择输出完整的 data: URL,以便直接用于 <img src> 或 CSS url()。
  • Base64 转文件:当内容是二进制数据(如图片或 PDF)时,可将解码后的字节下载为文件。

Base64 的应用场景

电子邮件附件。 MIME 标准将附件以 Base64 编码,以确保二进制文件能通过为文本设计的系统进行传输。

数据 URL。 小图标和图片可以作为 data:image/png;base64,… 直接嵌入到 HTML 或 CSS 中,从而节省一次额外的网络请求。

API 和配置。 证书、加密密钥或文件上传等二进制值通常作为 Base64 字符串在 JSON 内部发送。Kubernetes 的 Secret 和许多环境变量也使用 Base64 存储值。

身份验证。 HTTP 基本认证以 Base64 编码发送 username:password,而 JSON Web Token (JWT) 则由三部分 Base64URL 编码的内容组成。要检查令牌的内容,请使用 JWT 解码器。

Base64 的工作原理

编码器每次取三个输入字节(24 位),将其拆分为四个 6 位的组。每个 6 位的值(0-63)都映射到 Base64 字母表中的一个字符。当输入长度不是三的倍数时,输出会用一个或两个 = 符号进行填充,以使其长度成为四的倍数。

因为每 3 个字节会变成 4 个字符,所以 Base64 数据比原始数据大约三分之一。这种开销是为了能让二进制数据安全地通过纯文本系统而付出的代价。

Base64 与 URL 编码不同。如果您需要将任意文本放入查询字符串中,请改用 URL 编码/解码。要检查两个文件是否完全相同,请使用 哈希值生成器 比较它们的校验和。

常见问题

Base64 是一种加密吗?
不是。Base64 是一种编码,而非加密。任何人都可以在没有密钥的情况下解码它。它用于通过纯文本通道传输二进制数据,绝不能用于隐藏机密信息。
为什么 Base64 的输出比输入大?
Base64 用 4 个字符表示每 3 个字节,因此编码后的数据比原始数据大约 33%(外加最多两个 = 填充字符)。
什么是 Base64URL?
Base64URL 将 + 替换为 -,将 / 替换为 _,并且通常会省略末尾的 = 填充符,这样字符串就可以安全地用于 URL 和文件名。JSON Web Token (JWT) 使用 Base64URL。本工具的解码器会自动接受这两种变体。
它支持表情符号和非英文字符吗?
支持。文本在编码前会转换为 UTF-8 字节,解码时也按 UTF-8 解析,因此带重音符号的字符、中文、阿拉伯文、表情符号等其他字符都能正确转换。
我的文件会被上传吗?
不会。文件通过您浏览器的文件 API 读取,并在您的设备上进行编码。任何内容都不会发送到服务器。
解码后的文本看起来像乱码,为什么?
这串 Base64 可能包含二进制数据,例如图片、PDF 或压缩文件,而不是文本。请使用 下载文件 功能保存解码后的字节,然后用相应的程序打开该文件。