~/tutorials/base64

Base64 是什么?图片怎么转 Base64、编码串怎么解码

2026-09-25 · 约 3 分钟读完

接口要传一张图、把配置塞进 URL、从对方系统里收到一串 aGVsbG8= 看不懂——Base64 就藏在这些场景里。下面用 30 秒讲清 Base64 是什么,再给你三步把图片变成 data URI 的完整流程,全程浏览器本地完成,不上传、不注册。

Base64 是什么:一段 30 秒讲清

Base64 是一种把任意二进制数据编码成纯可见文本的方法:只用 64 个 ASCII 字符(A-Z、a-z、0-9、+、/,加 = 做补全)表示任何字节流。核心规则一句话——每 3 个字节拆成 4 个 Base64 字符,所以体积会膨胀约 1/3(24 位变 24 位,但 3 字节只能放 4 个完整符号)。反过来解码就是 4 个字符还原 3 个字节,不满足 4 的倍数时用 = 补。

hello     →  68 65 6c 6c 6f
aGVsbG8=  →  4×6bit 块拼回 5 字节(末尾用 = 补位)

为什么用 64 个字符?刚好是 2⁶,每 6 位一个符号,3 字节(24 位)切成 4 块(4×6),算起来干净利落。二进制、图片、PDF、整段密文都能塞进去,放进 JSON、URL、日志、邮件里都不炸。

常见场景:何时该用 Base64

三步把图片转成 Base64

① 拖一张图进工具

把图片直接拖进本站 Base64 编解码工具的「图片转 Base64」区,或点选择文件。全程浏览器本地处理,图片不上传,断网也能用。

② 自动出 data URI

工具即时生成形如 data:image/png;base64,iVBORw0KGgo... 的串,点复制按钮整段拿走。带 MIME 类型前缀,浏览器直接认。

③ 粘进 HTML / CSS / 接口

粘进 <img src>、CSS 的 background-image,或接口请求体里的 Base64 字段。小图(<100KB)直接内嵌;大图建议先压,或改用 URL 传图片。

顺手再举个例子:普通文本编码就更快了——把 hello 贴进工具「编码」区,立刻得到 aGVsbG8=;把对方给的 aGVsbG8= 贴进「解码」区,立刻还原成 hello。中文、emoji 也支持,工具按 UTF-8 处理,不会出现乱码。

工具:yvfng.com 的 Base64 编解码,文本编码 / 解码、图片转 Base64 data URI,粘贴即用,全程浏览器本地跑,不上传、不注册。

写 Base64 最常踩的 3 个坑

常见问题

Base64 和 URL 编码有什么区别

Base64 把任意二进制变纯可见字符、体积约膨胀 1/3,用来把二进制塞进文本环境;URL 编码只保护 URL 里的特殊字符(空格变 %20、# 变 %23),体积增幅小得多,两个解决的是不同问题。

data URI 里 data:image/png;base64, 前缀什么意思

data: 声明这是内嵌数据不是外链;image/png 是 MIME 类型;base64 说明数据用 Base64 编码。三部分连起来,浏览器就知道后面那串是一张 PNG 图,可直接当 src 用。

Base64 能加密吗

不能。Base64 只是编码,不是加密:任何人都能一行命令解回原文。真正保密要再套一层 AES 这类加密,Base64 只负责让密文能放进 JSON、URL、日志这些文本容器。

一张 5MB 的图转 Base64 变大多少

约 6.7MB:3 字节变 4 字符,体积膨胀 4/3,再算上 data:image/png;base64, 前缀约 22 字节。这就是为什么大图不该直接塞进 HTML,接口里传图建议先压缩。

相关工具

Base64 编解码

文本编码 / 解码、图片转 Base64 data URI,本地处理不上传。打开 ↗

URL 编码

Base64 串要进 URL?先看看 URL 编码怎么处理 + / = 这些敏感字符。打开 ↗

JSON 格式化

接口请求体里 Base64 字段夹在 JSON 中?格式化后按层级看清整个结构。打开 ↗

回工具矩阵

更多在线工具与教程,都在首页一屏看全。回首页 ↗

一句话总结:拖图 → 出 data URI → 粘进 HTML / CSS / 接口;拿到 aGVsbG8= 就解码还原,全程浏览器本地完成,不上传、不注册。