Base64 大小计算器
Base64 编码数据通常比原始文件大约 33%。在编码前计算精确的输出大小,或从 Base64 字符串估算原始文件大小。
文件 → Base64
编码后的 Base64 有多大?
原始
100.00 KB
Base64
133.34 KB
增量
+33.3%
增加体积: +33.34 KB(Base64 编码额外开销)
Base64 → 文件
原始文件有多大?
请在上方粘贴 Base64 字符串
为什么 Base64 会增加约 33% 的体积
Base64 使用 64 个可打印 ASCII 字符(A–Z、a–z、0–9、+、/)来编码二进制数据。每 3 个输入字节 对应 4 个输出字符,这个 4/3 的比率就是体积增量的来源。
如果输入长度不是 3 的倍数,会在末尾追加 1 到 2 个 = 填充字符,补全最后一组 4 字符。最多额外增加 2 个字节。
这一体积开销是 Base64 编码本身的固有特性,无法在不换用其他编码方式的情况下消除。
Base64 大小公式
encoded_bytes = ⌈n / 3⌉ × 4
说明:
n = 原始文件字节数
⌈ ⌉ = 向上取整(ceiling)
示例 — 100 KB(102,400 字节):
⌈102400 / 3⌉ × 4
= 34134 × 4
= 136,536 字节 (~133.3 KB)
增量:+34,136 字节 (+33.6%)根据输入长度是否为 3 的整数倍,增量始终在 33.3% 到 33.6% 之间。
Base64 大小参考表
常见文件大小对应的 Base64 估算体积,不含填充字符的误差调整。
| 原始大小 | Base64 输出大小 | 增加体积 |
|---|---|---|
| 1 KB | ~1.33 KB | +344 B |
| 10 KB | ~13.3 KB | +3.4 KB |
| 50 KB | ~66.7 KB | +16.8 KB |
| 100 KB | ~133 KB | +33.6 KB |
| 500 KB | ~667 KB | +167 KB |
| 1 MB | ~1.33 MB | +336 KB |
| 5 MB | ~6.67 MB | +1.67 MB |
| 10 MB | ~13.3 MB | +3.3 MB |
| 25 MB | ~33.3 MB | +8.3 MB |
常见问题
Base64 为什么比原文件大约 33%?
Base64 将每 3 个字节的二进制数据编码为 4 个 ASCII 字符,比例为 4:3,输出始终比输入大约 33.3%。填充字符(=)根据输入是否为 3 的倍数,额外增加 0 到 2 个字节。
Base64 输出大小的精确公式是什么?
Base64 大小(字节)= ⌈n / 3⌉ × 4,其中 n 为原始文件字节数,⌈⌉ 表示向上取整。例如 100 KB(102,400 字节)→ ⌈102400 / 3⌉ × 4 = 34134 × 4 = 136,536 字节 ≈ 133.3 KB。
文件压缩会影响 Base64 大小吗?
会。JPEG、PNG、MP3、ZIP 等文件本身已经过压缩,二进制体积较小,Base64 只会增加固定的 33%。而纯文本文件和未压缩位图在二进制形式下体积更大,Base64 输出也会相应更大。
Data URL 一定比原文件大 33% 吗?
Base64 数据部分约大 33%。Data URL 还会在开头附加一段 MIME 前缀(如 data:image/png;base64,),但这只有几十个字节,对 1 KB 以上的文件来说可以忽略不计。
在生产环境中需要担心 Base64 体积吗?
对于小型资源(图标、小图片、10 KB 以内的字体),33% 的开销是可以接受的,尤其是因为可以省去一次 HTTP 请求。对于大文件(100 KB 以上的图片、视频、大型 PDF),体积开销和无法单独缓存等问题会使基于 URL 的文件更为高效。
Base64 → 文件计算器中,估算值为什么不精确?
估算默认没有填充字符。如果粘贴实际 Base64 字符串,工具会读取填充符(= 字符)并给出精确结果。手动输入字符数时无法计算填充,结果可能偏差 0 到 2 个字节。