Base64 编码解码
Base64 编码解码工具支持文本和文件的 Base64 编码与解码,提供标准 Base64 和 URL 安全的 Base64URL 两种格式,适用于数据传输、文件嵌入、API 认证等场景。
什么是 Base64
Base64 是一种将二进制数据转换为 ASCII 字符串的编码方案,使用 64 个可打印字符(A-Z、a-z、0-9、+、/)表示数据。由于只使用可打印字符,Base64 编码后的数据可以在文本协议中安全传输。
Base64 广泛应用于:
- 在 HTML 和 CSS 中嵌入图片(Data URI)
- 在 URL 和 Cookie 中编码数据
- 通过电子邮件等文本协议传输二进制附件
- 在 JSON 或 XML 中存储二进制数据
- API 认证(如 HTTP Basic Authentication)
功能特点
工具支持文本和文件两种输入方式,提供标准 Base64 和 Base64URL 两种编码格式。所有处理在浏览器本地完成,不向服务器发送任何数据,保护用户隐私。
文本编码和解码支持 UTF-8 编码,可以处理包括中文、日文、韩文、阿拉伯文等各种 Unicode 字符。
文件编码支持任意类型文件,生成的 Base64 字符串可直接用于 Data URI 或其他需要 Base64 表示的场景。
使用方法
文本编码
- 选择编码模式
- 在输入框中输入文本
- 编码结果自动显示
- 如需 Base64URL 格式,勾选 Base64URL 选项
- 点击复制按钮获取结果
文本解码
- 选择解码模式
- 在输入框中粘贴 Base64 字符串
- 如果是 Base64URL 格式,勾选 Base64URL 选项
- 解码结果自动显示
- 点击复制按钮获取结果
文件编码
- 点击文件上传区域或拖放文件
- 等待文件读取完成
- Base64 编码结果自动显示
- 如需 Base64URL 格式,勾选 Base64URL 选项
- 点击复制按钮获取结果
Base64 与 Base64URL
标准 Base64:使用 A-Z、a-z、0-9、+、/ 共 64 个字符,填充字符为 =。
Base64URL:将 + 替换为 -,将 / 替换为 _,移除填充字符 =。
Base64URL 是 URL 安全的编码变体,适用于以下场景:
- URL 参数中传递数据
- 文件名中包含编码数据
- JWT(JSON Web Token)的编码
- 其他不允许使用
+、/、=字符的场景
应用场景
Data URI 嵌入图片
在 HTML 中直接嵌入小图片,减少 HTTP 请求:
<img src="data:image/png;base64,iVBORw0KGgo..." />
在 CSS 中嵌入背景图片:
background-image: url(data:image/svg+xml;base64,PHN2Zy...);
API 认证
HTTP Basic Authentication 使用 Base64 编码用户名和密码:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
JWT 令牌
JSON Web Token 的 Header 和 Payload 部分使用 Base64URL 编码。
文件传输
在 JSON API 中传输文件内容:
{
"filename": "document.pdf",
"content": "JVBERi0xLjQKJ..."
}
邮件附件
MIME 协议使用 Base64 编码邮件附件。
使用示例
文本编码示例
输入文本:Hello, World!
标准 Base64 输出:SGVsbG8sIFdvcmxkIQ==
Base64URL 输出:SGVsbG8sIFdvcmxkIQ
中文文本示例
输入文本:你好世界
标准 Base64 输出:5L2g5aW95LiW55WM
文件编码示例
上传一个小图片文件,获得类似以下的 Base64 编码:
iVBORw0KGgoAAAANSUhEUgAAAAUA...
可以将其用于 Data URI:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." />
注意事项
编码大小增加
Base64 编码后的数据大小约为原始数据的 133%(增加约 33%)。对于大文件,编码后体积会显著增加。
浏览器性能
处理大文件时,浏览器可能需要较长时间进行编码或解码,建议单个文件不超过 10MB。
字符编码
文本编码使用 UTF-8 编码,支持所有 Unicode 字符。解码时如果原始数据不是 UTF-8 编码的文本,可能出现乱码。
无效输入
解码时,如果输入的 Base64 字符串包含非法字符或格式错误,会显示错误信息。
隐私保护
所有编码和解码操作在浏览器本地完成,数据不会上传到服务器。
常见问题
Base64 是加密吗?
不是。Base64 是编码方式,不是加密算法。任何人都可以轻松解码 Base64 字符串,不要用它来保护敏感信息。
为什么编码后的字符串末尾有等号?
等号 = 是填充字符,用于补齐编码后的字符串长度为 4 的倍数。Base64URL 格式会移除这些填充字符。
如何选择 Base64 还是 Base64URL?
如果编码结果需要用在 URL、文件名、JWT 等场景,使用 Base64URL。其他情况使用标准 Base64。
为什么解码后出现乱码?
可能是原始数据不是 UTF-8 编码的文本,或者 Base64 字符串被截断或修改。确保输入完整、正确的 Base64 字符串。
可以编码多大的文件?
浏览器能够处理的文件大小取决于可用内存,建议不超过 10MB。超大文件建议使用专门的文件传输工具。



