编码类型 | 字符集大小 | 体积增长 | 字符集规则(示例) | 填充字符 | 典型应用场景 | 变种/备注 |
---|---|---|---|---|---|---|
Base2 | 2 | +300% | 0 和 1 (二进制) | 无 | 底层数据表示 | 原生二进制,非实际编码 |
Base8 | 8 | +133% | 0-7 (八进制) | 无 | 权限标识、历史系统 | 极少用于现代编码 |
Base10 | 10 | +0% | 0-9 (十进制) | 无 | 通用数字表示 | 原生十进制,非编码转换 |
Base16 | 16 | +100% | 0-9 + A-F (十六进制,全大写或全小写) | 无 | 调试输出、短哈希 | 大写为主,无混淆字符 |
Base32 | 32 | +60% | A-Z + 2-7 (全大写或全小写,排除0/O/1/I/L ) | = | DNS记录、文件系统 | RFC 4648标准,支持大小写不敏感 |
Base32hex | 32 | +60% | 0-9 + A-V (扩展十六进制) | = | 特定协议编码 | 避免字母O/I 混淆 |
Base36 | 36 | ≈+80% | 0-9 + A-Z (仅大写) | 无 | 短UID生成(如TinyURL) | 无特殊符号,兼容性强 |
Base45 | 45 | ≈+50% | 0-9 + A-Z + $%*+-./: | 无 | 二维码(如EU数字证书) | ISO标准,支持高效压缩 |
Base58 | 58 | ≈+35% | 排除易混淆字符(0/O/I/L/+/\ ),保留A-Z + a-z + 1-9 | 无 | 比特币地址、IPFS哈希 | 比特币使用改进版Base58Check |
Base62 | 62 | ≈+30% | A-Z + a-z + 0-9 (无特殊符号) | 无 | 短链接、数据库ID | URL安全,无填充 |
Base64 | 64 | +33% | A-Z + a-z + 0-9 + +/ | = | 网络传输、邮件附件 | RFC 4648标准,通用性最强 |
Base64url | 64 | +33% | A-Z + a-z + 0-9 + -_ | 可选= | URL安全场景(如JWT) | 替换+/ 为-_ ,避免转义 |
Base85 | 85 | +25% | ASCII可打印字符(如!-u ) | ~ | PDF、PostScript | Ascii85/Z85变种,高效但兼容性差 |
Base91 | 91 | ≈+20% | 扩展ASCII字符(!#$%&()*+,-./0-9:;<=>?@A-Z[]^_a-z{}~ ) | 无 | 二进制压缩 | 比Base85更紧凑,但字符集复杂 |
Base122 | 122 | ≈+15% | UTF-8双字节可打印字符 | 无 | 实验性超紧凑编码 | 非标准,兼容性极低 |
关键总结
-
体积效率排名:
Base122 > Base91 > Base85 > Base64 > Base62 > Base58 > Base45 > Base32 > Base36 > Base16
(体积增长越小,编码效率越高) -
字符安全性:
-
Base58/Base32:排除视觉混淆字符,适合人工阅读和输入。
-
Base62/Base45:无特殊符号,兼容URL和文件名。
-