返回工具主页

Base32 / Base64 编码原理演示

将 ASCII 字符按 Base32(5 位一组)或 Base64(6 位一组)编码为文本格式, 观察二进制分组、字符映射与填充(=)的完整过程。

Base32 使用 32 个字符(A-Z、2-7)表示数据。每 5 个比特对应一个字符,最后一组不足 5 位时低位补 0,最终编码长度补 = 成为 8 的倍数。

提示:输入纯 ASCII 字符(英文字母、数字、常见符号)。

编码字符表

演示控制

当前状态

6
每组位数
0
分组数
点击“开始”查看编码过程。

字符 → ASCII → 二进制

连续二进制流与分组

编码结果

Python 实现

关键行会在运行中高亮
def base32_encode(text):
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
bits = "".join(format(ord(c), "08b") for c in text)
result = ""
for i in range(0, len(bits), 5):
chunk = bits[i:i + 5].ljust(5, "0")
result += alphabet[int(chunk, 2)]
pad = (8 - len(result) % 8) % 8
return result + "=" * pad