使用方法
- 把文本粘贴到“文本或 Base64”中。
- 在“操作”中选择“将文本编码为 Base64”或“将 Base64 解码为文本”。
- 如果编码要用于网址或文件名,请勾选“网址安全字母表”。
- 使用“结果”框上的复制按钮,或将结果下载为文本文件。
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日星期二。