Base64的计算公式

58 0

Base64 是把任意二进制数据用 64 个可打印字符(A–Z、a–z、0–9、+、/)表示的编码方式,定义在 RFC 4648 中。下面重点说明公式与推导。

Base64的计算公式

编码后长度 = 4 × ⌈n ÷ 3⌉(n 为字节数)。例如 10 字节的数据编码后是 4 × 4 = 16 个字符;1 MB 的图片编码后约 1.33 MB。省略填充时长度为 ⌈4n ÷ 3⌉。

输入:https://www.123wen.cn/?q=测试

编码结果:aHR0cHM6Ly93d3cuMTIzd2VuLmNuLz9xPea1i+ivlQ==

说明:按 UTF-8 共 31 字节,编码后 44 个字符。

Python 示例

下面是 Python 中处理Base64的常用写法:

import base64
s = "123问"
b = base64.b64encode(s.encode("utf-8")).decode()
print(b)                                  # MTIz6Zeu
print(base64.b64decode(b).decode("utf-8"))
print(base64.urlsafe_b64encode(b"\xfb\xff"))  # b'-_8='

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

乱码排查

解码后乱码的常见原因:原文按 GBK 编码却按 UTF-8 解码;数据被截断;中间经过 URL 传输时“+”变成了空格。逐一排查字符集、长度(是否为 4 的倍数)和特殊字符。

本站的Base64编码工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【Base64 解码后乱码怎么办?】多半是字符集不一致,例如原文按 GBK 编码,却按 UTF-8 解码。换成原始字符集再试。

【图片转 Base64 有什么用?】可以把小图标直接写进 HTML 或 CSS,省去一次请求;但大图会让页面变大,不建议。

【Base64 能加密数据吗?】不能。Base64 只是改变数据的表示形式,没有密钥,任何人都能还原。

文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 数码开发

抱歉,评论功能暂时关闭!