Base32与体积、压缩的关系

37 0

Base32 用 32 个可打印字符(RFC 4648 字母表:A–Z 和 2–7)表示任意二进制数据,每个字符携带 5 个比特,输出通常用 “=” 补齐到 8 的倍数。下面重点说明长度变化。

Base32与体积、压缩的关系

输出长度约为输入字节数的 8/5,并向上取整到 8 的倍数。5 字节 → 8 字符;1 字节 → 8 字符(带 6 个 =)。

示例

输入:I ♥ Unicode

编码结果:JEQOFGNFEBKW42LDN5SGK===

说明:按 UTF-8 先得到 13 字节,再按 RFC 4648 Base32 编码。

常见用途

  • 两步验证(TOTP/HOTP)密钥的常见写法
  • DNS 和一些安全令牌
  • 避免 Base64 中 + / 在文件名或 URL 里出问题的场合

Go 示例

下面是 Go 中处理Base32的常用写法:

import "encoding/base32"
base32.StdEncoding.EncodeToString([]byte("Hello"))

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

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

常见问题

【区分大小写吗?】标准字母表是大写;很多解码器也接受小写。

【能加密吗?】不能,任何人都可以解码。

【和 Base64 怎么选?】机器传输用 Base64 更短;人要手打、或做 OTP 密钥时用 Base32。

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

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

标签: 数码开发

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