Ascii85
Ascii85(Base85)将每 4 字节(32 位)映射为 5 个 ASCII 字符,编码膨胀率约 25%,低于 Base64 的 33%,用于 PDF 与 PostScript。
用途
在 ASCII 文本环境中以更低膨胀率表示二进制数据,相比 Base64 更紧凑。
机制
将 4 字节当作大端 32 位无符号整数,反复除以 85 取余得到 5 个 0-84 的值,各加 33 得到可打印 ASCII。零值 4 字节用 z 缩写。PDF 变体以 < ~> 包裹。
用例
- PDF 流对象编码
- PostScript 二进制嵌入
- IPv6 地址的 Base85 表示(早期提案)
- 紧凑的二进制文本传输
示例
- 输入
Hello输出87cURD]A trailing partial group (fewer than 4 bytes) follows special padding rules
常见错误
- Confusing Ascii85 with Z85 (the ZeroMQ variant uses a different alphabet)
- Confirm which variant's alphabet is in use