Base64编码Data URL图片转 Base64

Base64 编码原理和常见坑

Base64 是把二进制数据转成文本的一种编码方式,常用于图片 Data URL、接口传输和配置嵌入,但它不是加密。

发布于 2026年7月2日 · 约 7 分钟阅读

Base64 是编码,不是加密。任何人拿到 Base64 字符串,都可以把它解码回原始内容。

Hello -> SGVsbG8=

它的作用是把二进制数据转换成只包含常见 ASCII 字符的文本,方便放进 JSON、HTML、CSS、配置文件或接口字段里。

为什么 Base64 会变大?

Base64 大约每 3 个字节编码成 4 个字符,所以体积通常会增加约三分之一。如果把大图片直接塞进 JSON,请求体可能会明显膨胀。

Data URL 和纯 Base64 有什么区别?

形式例子用途
纯 Base64iVBORw0KGgo...只包含编码内容
Data URLdata:image/png;base64,iVBOR...包含 MIME 类型,可直接用于 img src
URL Safe Base64使用 - 和 _常见于 JWT 和 URL 场景

常见坑

  • 把 Base64 当作加密,导致敏感信息直接暴露。
  • 复制时漏掉末尾 = 填充字符,导致解码失败。
  • 把 Data URL 当成纯 Base64 传给后端,后端解析失败。
  • 图片太大仍然转 Base64,导致页面和接口变慢。
  • 混用标准 Base64 和 URL Safe Base64。