BaseToolbox LogoBaseToolbox
Blog

© 2025 基础工具箱。保留所有权利。

隐私政策关于联系我们

Base64 图片、文件、文本有什么区别?

发布于 2026年6月25日

Base64 的作用是把字节转换成文本。这样更方便放进 JSON、HTML、CSS、邮件或 API 参数里,但它不是加密。

只要拿到字符串,任何人都可以解码。

Base64 文本

普通文本会先转换成字节,通常是 UTF-8,然后再编码成 Base64。

这对中文、emoji 等非 ASCII 字符很重要。浏览器里的 btoa() 偏底层字节处理,直接处理 Unicode 文本时容易出错。

Base64 文件

文件本身就是字节。文件的 Base64 字符串表示的是文件内容,不包含文件名或文件夹。

常见用途包括:

  • 小型 API 参数
  • 邮件附件
  • 通过只支持文本的系统传递二进制数据
  • 调试文件上传

Base64 通常会让体积变大约三分之一,所以不适合大文件长期传输。

Base64 图片和 Data URL

图片的 Base64 经常会带一个 data URL 前缀:

data:image/png;base64,iVBORw0KGgo...

前缀告诉浏览器媒体类型,真正的 Base64 内容在逗号后面。

Data URL 和纯 Base64 的区别

很多复制粘贴问题都出在这里:

| 形式 | 示例 | 适合场景 | | --------- | -------------------------------------- | -------------------------------------- | | 纯 Base64 | iVBORw0KGgo... | API 已经知道文件类型,只需要文件内容。 | | Data URL | data:image/png;base64,iVBORw0KGgo... | HTML、CSS、图片预览、浏览器渲染。 |

如果接口要求纯 Base64,发送前要去掉 data:image/png;base64, 前缀。如果浏览器预览需要 data URL,就要保留前缀,否则浏览器不知道这段字节到底是 PNG、JPG、SVG、PDF 还是其他类型。

常见错误

不要把 Base64 当成隐私保护。它只是编码,不是加密。密码、API key、JWT、隐私文档不要因为变成 Base64 看起来“不像明文”就放心传递。

还要注意换行和空格。有些系统会把很长的 Base64 字符串自动换行,有些系统又不接受这些换行。如果解码后的文件损坏,先检查字符串是不是在复制、JSON 转义、邮件传输时被改过。

简短结论

Base64 是字节编码格式。文本、图片、文件都可以变成 Base64 字符串;图片常见 data: URL 前缀。Base64 不是加密,不要用来隐藏密钥或密码。

参考资料:

  • MDN:btoa()
  • web.dev:Base64 encoding

想直接试试看?

用我们的免费在线工具,把文章里的方法马上用起来。

Base64 编码解码