Base85 编解码
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 中都无需转义的字符,更适合嵌进配置文件与源码。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
Base85 编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。