tomai
登录
免费 · 开发者工具

Base64 编码/解码

正确处理中文与 Emoji,支持 URL-safe 与文件转换

原文
Base64

什么是 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 是加密吗?

不是。它只是编码,任何人都能瞬间解码。适合数据传输和嵌入场景,绝不能用来隐藏机密信息。

相关工具

相关工具