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 編解碼。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。