Base64编解码

在线Base64编码和解码工具,支持文本和图片

关于Base64编解码

Base64 把任意二进制按每 3 字节一组切成 4 个 6 位单元,映射到 A-Z、a-z、0-9 与加号、斜杠这 64 个可见字符,不足 3 字节的用等号补齐,所以编码后体积固定膨胀约三分之一。它的用途不是加密,而是让二进制安全穿过只认 ASCII 的通道:HTTP Basic 认证头、邮件 MIME 附件、data:image/png;base64 内联图片、JWT 的三段结构都是这个格式。这个工具支持文本与图片双向处理,文本先按 UTF-8 转字节再编码,避免中文乱码;解码时容忍换行与缺失的补位等号。

Base64编解码怎么用

  1. 选择模式:文本编码、文本解码,或把本地图片转成 Base64。
  2. 文本编码时粘贴原文,中文按 UTF-8 处理,得到可放进 HTTP 头或 JSON 字段的字符串。
  3. 解码时粘入 Base64 串,带换行的分行内容也能识别,得到还原后的文本或字节。
  4. 图片模式下选择本地文件,取出 data URI 的 MIME 前缀与编码正文,直接嵌进 HTML 或 CSS。
  5. 复制结果前核对长度,编码后的字符数应当接近原文字节的 4/3,差太多说明输入被截断过。

使用提示

  • 标准 Base64 里的加号和斜杠在 URL、文件名场景不安全,要用 URL-safe 变体(把 + 换成 -、/ 换成 _,并去掉补位等号),两种变体不能混着解。
  • Base64 是可逆编码、不含密钥,任何人都能一行代码还原,绝不能拿来“加密”密码或敏感参数;要保护内容请用 AES-GCM 或 RSA,再把密文做 Base64 包装。
  • 图片转 Base64 会让体积增大约三分之一,且不能单独被浏览器缓存、每次请求都要重传;超过约 10 KB 的图片建议走独立文件 URL,只把小图标和占位图内联。

Base64编解码常见问题

Base64 能当加密用吗?
不行。Base64 只是编码,规则完全公开且可逆,任何拿到字符串的人用一行代码就能还原,既不保密也没有混淆强度。需要保密就用 AES-GCM、RSA 这类带密钥的加密算法,Base64 只负责把加密后的二进制变成文本。
Base64 解码出来是乱码怎么办?
绝大多数是字符集不一致:编码侧用了 GBK 或 GB2312,解码却按 UTF-8 处理,中文尤其容易踩。用相同的字符集重新编码再解码即可;另一种可能是字符串被截断,检查末尾补位等号是否完整、有没有被换行切断。
data:image/png;base64 里的内容怎么看?
逗号之前是 MIME 类型与编码声明,逗号之后才是 Base64 正文。把正文单独复制出来解码就是原始图片字节,可以直接存成 .png 文件;注意放进 data URI 的 Base64 中间不应再带换行。
Base64 编码后为什么变长了?
因为 3 个字节共 24 位被重新切成 4 段 6 位,每个 6 位值占用一个 ASCII 字符即 1 字节,比例是 4/3,约 1.33 倍,再加上末尾补位就是固定三分之一左右的膨胀,与内容本身无关。