Base64

编码和解码 Base64 字符串

输入
输出

什么是 Base64,何时使用?

Base64 使用仅 64 个可打印的 ASCII 字符(A–Z, a–z, 0–9, `+`, `/`)表示任意字节。它用于在期望文本的地方嵌入二进制数据 — 电子邮件附件(MIME)、数据 URI(`data:image/png;base64,...`)、JWT 令牌、基本认证头和配置文件。

编码会增加大约 33% 的开销 — 三个输入字节变成四个输出字符。浏览器的原生 `btoa`/`atob` 仅处理 Latin-1 字符串,因此该工具使用适当的 UTF-8 转换来避免在编码表情符号或非拉丁文本时出现 '字符超出范围' 错误。

使用场景

  • 嵌入小资产——把 1×1 跟踪像素或 SVG 图标转为 data: URI,直接粘贴进 CSS 或 HTML。
  • 在纯文本通道中传输二进制——用 Base64 包装 protobuf、图片、签名,安全穿越 JSON、邮件、URL 参数。
  • 编码令牌或 ID——这会输出标准 Base64;对于 URL 或文件名使用,请自行将 `+` 替换为 `-`,将 `/` 替换为 `_`。
  • 检查 JWT 和 OAuth state——对 JWT 每个段做 Base64 解码,不用依赖第三方在线工具就能看到 header 和 payload。

示例

输入结果
Hello, World!SGVsbG8sIFdvcmxkIQ==
Café ☕Q2Fmw6kg4piV

常见问题

为什么浏览器的原生 btoa 在表情符号上失败?

`btoa` 仅接受 Latin-1(单字节)字符。多字节 UTF-8 序列会触发 'InvalidCharacterError'。该工具首先编码为 UTF-8 字节,然后再编码为 Base64 — 处理任何 Unicode.

什么是 URL-safe Base64?

一种变体,将 `+` 替换为 `-`,将 `/` 替换为 `_`,使字符串在 URL 和文件名中安全。注意:此工具输出标准 Base64,因此如果您需要 URL 安全的形式,请自行进行替换。

为什么解码后的输出看起来乱码?

要么 Base64 已损坏,要么是 URL 安全的(此工具解码标准 Base64——首先将 `-` 替换回 `+`,将 `_` 替换回 `/`),或者根本不是文本——Base64 通常编码无法解码为可读文本的二进制数据。

Base64 安全吗?

不 — Base64 是编码,不是加密。任何人都可以解码它。用于传输,而不是隐藏秘密.

该工具会记录任何内容吗?

不会。编码和解码在您的浏览器中进行;没有任何内容发送到服务器.