Base64编解码工具

粘贴文本即可得到它的 Base64 编码,粘贴 Base64 编码即可读出其中的文本。中文、带重音的字母和表情符号都会按 UTF-8 正确编码。

免费 在浏览器中运行 核对于2026年11月10日星期二

要编码的文本,或要解码的 Base64 编码。Base64 编码中的换行会被忽略。

操作

用 - 和 _ 代替 + 和 /,并省去 = 填充。解码时两种字母表都接受。

结果

结果

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 把文本粘贴到“文本或 Base64”中。
  2. 在“操作”中选择“将文本编码为 Base64”或“将 Base64 解码为文本”。
  3. 如果编码要用于网址或文件名,请勾选“网址安全字母表”。
  4. 使用“结果”框上的复制按钮,或将结果下载为文本文件。

Base64 如何工作

Base64 把字节写成只用64个字符的文本,这些字符在几乎所有系统中都是安全的。每三个字节(即24位)变为四个字符,每个字符承载六位。最后一组只有一个或两个字节时,编码末尾会加上一个或两个 = 号,称为填充。

结果总是比输入长约三分之一,因为三个字节变成了四个字符。

Padded length = 4 × ⌈n ÷ 3⌉ characters

n  number of bytes in the input
⌈ ⌉  round up to a whole number

文本、UTF-8 与两种字母表

Base64 处理的是字节,因此文本先被写成 UTF-8,即网页和多数文件所用的编码。带重音的字母(如 ğ)占两个字节,表情符号占四个字节。

  • 标准字母表(RFC 4648 第4节):A 至 Z、a 至 z、0至9、+ 和 /,末尾以 = 填充。
  • 网址与文件名安全字母表(RFC 4648 第5节):用 - 和 _ 代替 + 和 /。此模式不加填充。
  • 解码时两种字母表都接受,也接受无填充的编码和换行。

解码拒绝什么

  • 既不属于两种字母表的字符,如 ! 或 %。
  • 任何 Base64 编码都不可能有的长度,例如四个字符一组之后多出五个字符。
  • 不是有效 UTF-8 的字节。图片的 Base64 解码后是非文本字节,页面会说明这一点,而不是显示乱码。

Base64 不是加密

Base64 只是把字节写成文本的一种方式,并非秘密。任何人都能解码,因此不要用它来隐藏密码或密钥。文本仅在本浏览器中转换,不会发送给我们。

计算示例:你好,世界。

这段文本有6个字符,但每个汉字和全角标点在 UTF-8 中都占三个字节,因此共18个字节。补足后的长度为 4 × ⌈18 ÷ 3⌉ = 24个字符。

18个字节正好能被三整除,所以无需填充。因此无论是否勾选“网址安全字母表”,结果都是同一串24个字符:5L2g5aW977yM5LiW55WM44CC。

项目 标准 网址安全
结果 5L2g5aW977yM5LiW55WM44CC 5L2g5aW977yM5LiW55WM44CC
长度 24 24

常见问题

Base64 有什么用途?

它让图片、文件和令牌等二进制数据能够通过只接受文本的系统传送,例如电子邮件附件、JSON 字段和 data URL。编码后的内容比原始数据约长三分之一。

Base64 与加密是一回事吗?

不是。Base64 是一种可逆的字节写法,任何人无需密钥即可解码。保护数据应使用真正的加密,而不是 Base64。

为什么解码后的文本显示为乱码?

通常是因为这些字节不是 UTF-8。文本可能是以较旧的编码保存的,例如 GBK 或 Windows-1254。页面会拒绝非 UTF-8 的字节,而不是错误地显示它们。

什么是网址安全字母表?

RFC 4648 第5节把 + 换成 -,把 / 换成 _,因此编码可以直接放在网址或文件名中,无需转义。这里显示的编码不带 = 填充。

这个工具会把我的文本发送到服务器吗?

不会。编码和解码都在您的浏览器中完成。内容不会被发送、保存或记录,因此您可以粘贴私密数据。

我可以在这里解码 Base64 图片吗?

本页把 Base64 当作文本读取,因此图片解码后会得到非文本字节,并被拒绝。若要查看图片,请把完整的 data URL(以 data:image 开头并注明类型)粘贴到浏览器的地址栏中。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。