Base64 编码/解码
正确处理中文与 Emoji,支持 URL-safe 与文件转换
什么是 Base64 编码?
Base64 是一种把二进制数据或任意文本转换成安全 ASCII 字符串的编码方式,字符集只包含字母、数字、加号、斜杠和等号。它不是加密,而是让数据能安全穿过只认纯文本的通道,比如邮件附件、URL 或 JSON 字段。这个工具按 UTF-8 正确处理中文、日文、Emoji 等所有字符,往返转换不会乱码——这正是很多简易转换器踩过的坑。它还支持 RFC 4648 定义的 URL-safe 变体,并可以把文件直接转成 Base64。适合开发者、测试人员以及需要在系统之间搬运数据的人。
这款工具能做什么
- 🔡 将文本编码为 Base64,UTF-8 字符全部正确处理
- 🔄 把 Base64 解码回可读文本
- 🔗 URL-safe 变体:用 - 和 _ 替代 + 和 /,并去掉填充符号
- 📎 支持将最大 5 MB 的文件转换为 Base64
- 📈 显示两个方向的字节数与字符数
- 📋 一键复制结果
什么时候会用到
- 把二进制内容或非 ASCII 文本嵌入 JSON、XML 字段
- 验证旧接口返回的 Base64 载荷能否正确解码
- 让数据可以安全放进 URL 查询参数
- 从日志里解码邮件附件的 Base64 内容
隐私:编码和解码全部在浏览器本地完成,输入内容不会上传到任何服务器。文件转换也是本地读取,最大支持 5 MB。
Base64 能做什么、不能做什么
任何文字都完好往返
编码与解码都经过正确的 UTF-8 处理,中文、日文、表情符号等任何文字都能逐字节还原——这正是那些朴素转换器弄乱非 ASCII 文本的地方。
URL 安全且容错
RFC 4648 的 URL 安全变体把加号与斜杠换成连字符与下划线并去掉填充,解码端则容忍空白字符,还能自动识别 URL 安全的输入。
文件转 Base64
上传最大 5MB 的文件,一次即可转为 Base64 字符串,报告同时显示输入字节数与输出字符数,粘贴到任何地方之前就能看清体积开销。
RFC 4648 里的 Base64
标准字母表是 A–Z a–z 0–9 + /,用 = 补位;每 3 个输入字节变成 4 个输出字符——约 33% 的体积开销需要预算。URL 安全变体把 + 和 / 换成 - 和 _,编码结果才能在 URL 和文件名里安然存活。
- 解码时容忍空白与缺失的补位——复制来的字符串通常直接可用。
- 编码不是加密:任何看到字符串的人都能解码。它用于传输,绝不用于保密。
常见问题
为什么有些工具编码中文会乱码?
JavaScript 原生 btoa() 只支持 Latin-1 字符。我们先用 TextEncoder 把文本转成 UTF-8 字节再编码,中文、日文、Emoji 等所有文字都能正确往返。
什么是 URL-safe Base64?
RFC 4648 第 5 节定义的变体:把 + 换成 -、/ 换成 _ 并去掉 = 填充,结果可以直接放进 URL、文件名和 JWT 而无需转义。勾选 URL-safe 即可编码或解码该格式。
Base64 是加密吗?
不是。它只是编码,任何人都能瞬间解码。适合数据传输和嵌入场景,绝不能用来隐藏机密信息。