GEXNO / 指南 / Base64 编码是什么?一文看懂编码、解码与图片转 Base64

Base64 编码是什么?一文看懂编码、解码与图片转 Base64

Base64 不是加密!本文用大白话讲清 Base64 的原理和用途,在线完成文本与文件的 Base64 编码解码,本地处理不上传。

Base64 是什么?先纠正一个常见误解

Base64 不是加密——它没有密钥、任何人都能解码,只是一种「编码」。它的作用是把任意二进制数据用 64 个可打印字符(A-Z、a-z、0-9、+、/)表示出来,让二进制数据能安全地走「只认文本」的通道:邮件协议、JSON 字段、Data URL、配置文件。

代价是体积:3 字节变成 4 个字符,体积膨胀约 33%。所以 Base64 从来不是为了省空间,而是为了「能传输」。

文本的 Base64:编码与解码

GEXNO Tools 的 Base64 工具双向即时转换:左边输入文本,右边实时给出编码结果;把流程反过来贴一串 Base64 也能解回原文。支持中文(UTF-8),本地处理。

Base64 在线编码解码工具:输入中文文本实时编码
中文按 UTF-8 编码,粘贴即出结果

图片转 Base64:Data URL 的正确用法

把小图标、logo 转成 Base64 后可以直接内联进 HTML/CSS:<img src="data:image/png;base64,....">,省一次 HTTP 请求。适合 10KB 以下的图标;大图片内联反而拖慢首屏(体积 +33%,且无法被浏览器单独缓存)。

文件转 Base64 工具:把图片转成 Data URL 内嵌网页
文件转 Base64 生成可直接内联的 Data URL

什么时候该用 Base64,什么时候不该

一个 5 秒的小实验

把 GEXNO 五个字母做 Base64 编码,得到 R0VYTk8=。末尾的 = 是补位符(输入长度不是 3 的倍数时补齐)。把结果贴回解码框,立刻还原。亲手做一次,比读十篇文章都记得牢。

常见问题

Base64 是加密吗?安全吗?

不是加密,是编码——没有密钥,任何人都能解码。需要保密请先使用 AES 等真正的加密,再按需 Base64 编码传输。

为什么 Base64 编码后体积变大?

每 3 字节数据编码成 4 个字符,体积增加约 33%;传输通道只认文本时,这是必要的代价。

URL 里能用标准 Base64 吗?

标准 Base64 里的 + 和 / 在 URL 中有特殊含义。URL 场景应使用 Base64url 变体(用 - 和 _ 替换),或对结果做 URL 编码。

图片转 Base64 后怎么用?

拼成 data:image/png;base64,xxxx 的 Data URL,直接放进 <img src> 或 CSS 的 url()。只建议小于 10KB 的图标这样做。

中文 Base64 编码后为什么不一样?

Base64 编码的是字节序列,中文先按 UTF-8 转成字节再编码。双方都用 UTF-8 时结果一致;出现乱码多半是某一方按了 GBK 之类的编码。

打开 Base64 编解码工具 →