跳到主要内容
Tooletto

Base64 解码器

Base64 编码解码器 的预设方案

把 Base64 解码回可读文本。能正确处理 Unicode,同时接受标准 Base64 和 JWT 使用的 URL 安全变体,所以可以直接粘贴一段令牌片段。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何Base64 编码解码器

  1. 1

    选择方向

    在编码和解码之间切换。

  2. 2

    输入你的数据

    在输入框中输入或粘贴——转换会随输入即时进行。

  3. 3

    复制结果

    复制输出内容,或下载为文本文件。

为什么解码需要同时接受两种 Base64 变体

现实中遇到的 Base64 字符串,可能是标准 Base64——来自邮件附件、data URI、配置文件——也可能是 Base64URL,最常见的场景是 JWT 三段用点分隔的其中一段。由于这两种变体只在三个字符上有差异,一个坚持只接受其中一种格式的解码器,会强迫你先手动把 `-` 换成 `+`、把 `_` 换成 `/`,它才肯接受一段令牌,这对于本该是一次简单粘贴的操作来说是个繁琐的额外步骤。同时接受这两种变体,意味着一段 JWT 负载片段可以直接粘贴进来,不需要事先知道或关心它究竟是哪种 Base64 变体。

解码结果不是可读文本的情况

并不是所有用 Base64 编码的内容一开始就是文本——图片、加密密钥,以及其他二进制数据,出于同样的文本安全考虑,也经常被 Base64 编码。解码这类内容会得到原始字节,当作文本解读时会显示成乱码、无法阅读的字符,这是预期的结果,而不是解码失败的信号:这个操作正确地还原了编码,只是底层的字节从一开始就不是打算被当作 UTF-8 文本来读的。

快速核实一段可疑字符串的办法

把一段陌生的、看起来像 Base64 的字符串粘贴到这里,检查它是否能解码成可读内容,是调查一段数据到底是什么——一个配置值、一个 cookie、一段在意外地方发现的令牌片段——最快的第一步。一段能干净地解码成可读 JSON 或纯文本的字符串,证实了它确实是 Base64 编码的数据;解码后得到乱码的字符串,要么根本不是 Base64,要么是 Base64 编码的二进制数据而不是文本,无论是哪种情况,都能帮你缩小接下来该调查的方向。

常见问题

能正确处理表情符号和非英语文本吗?

可以。文本在进行 Base64 编码之前会先转换成 UTF-8,这正是重音符号、中文字符和表情符号能够正确往返转换的原因。基于浏览器原生 `btoa` 构建的工具,一遇到码点高于 U+00FF 的字符就会报错——这是一个很常见的 bug。

什么是 Base64URL?什么时候需要用它?

这是一种把 `+` 替换成 `-`、把 `/` 替换成 `_`,并去掉 `=` 填充符的变体,使结果可以安全地用在 URL 或文件名里。JSON Web Token 就使用这种格式。标准 Base64 直接粘贴进查询字符串会出问题。

Base64 是一种加密方式吗?

不是。它是一种为了让二进制数据能通过纯文本通道传输而设计的编码方式,任何人都能瞬间把它还原回去。永远不要用它来隐藏密码、密钥或个人数据。

为什么我的 Base64 输出比输入还要大?

Base64 把每三个字节表示成四个字符,所以输出总是比输入大约大 33%。这份开销正是换来能安全地以文本形式传输的代价。