Base85 编解码

🔤 Base85 Encode/Decode

📐 工作原理与说明
每 4 字节编码为 5 个可打印字符,比 Base64 更紧凑。
  • 分组:每 4 字节(32 位)视为一个大整数,反复除以 85 得 5 个余数并映射字符。
  • Ascii85:字符集为 ! 到 u,z 表示连续 4 个零字节,y 用于特定历史情形。
  • Z85:ZeroMQ 定义的变体,刻意避开引号与反斜杠,便于直接嵌入源码字符串。
  • 效率:膨胀率约 25%(4 字节→5 字符),优于 Base64 的 33%。

Encode and decode Base85 (Ascii85) in your browser — pack binary into printable ASCII for PostScript and PDF streams.

📖 算法说明

Ascii85: 4 字节 → 5 字符,Adobe 变体支持全零压缩 (z);

Z85: ZeroMQ 变体,字符集不同,按 4 字节块严格处理。

📚 深度解析:Base85 编码 / 解码

💡 常见使用场景

  • PostScript、Git 二进制 diff(diff --binary)常用 Base85 压缩体积。
  • 需要在文本协议里嵌入较长二进制时,Base85 比 Base64 更省空间。
编码 "Hello"
输入 `Hello` → 输出 `<~87cURD~>`(ASCII85 形式,每 4 字节原文约编为 5 字符)。

❓ 常见问题(FAQ)

Base85 比 Base64 省多少?
Base85 每 4 字节编 5 字符,膨胀约 25%,优于 Base64 的 33%。
Ascii85 和 Z85 有什么区别?
Ascii85(PostScript 采用)字符范围是 '!' 到 'u',含引号、反斜杠等在部分协议中需转义的字符,并用 z 表示四个零字节。Z85(ZeroMQ 定义)特意挑选了 85 个在 C 字符串、JSON 与 shell 中都无需转义的字符,更适合嵌进配置文件与源码。
⚠️ 使用说明与注意事项
📖关于「Base85 编解码」 ▼

📝工具简介

Base85 编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。