コンテンツへスキップ
uencoder

Ascii85

Ascii85(Base85)は 4 バイト(32 ビット)ごとに 5 文字の ASCII へ写像し、膨張率は約 25% と Base64 の約 33% より低い。PDF や PostScript で使われる。

目的

ASCII のみのチャネルでバイナリデータを、Base64 より小さなオーバーヘッドで表現する。

メカニズム

各 4 バイトグループをビッグエンディアンの 32 ビット符号なし整数とみなし、85 で繰り返し割って得た 5 つの余り(0-84)に 33 を加え、印刷可能な ASCII として出力する。すべてゼロの 4 バイトグループは 1 文字の z に圧縮される。PDF 変種ではデータを < ~ > で囲む。

ユースケース

  • PDF ストリームオブジェクトのエンコード
  • PostScript バイナリの埋め込み
  • IPv6 アドレスの Base85 表現(初期の提案)
  • コンパクトなバイナリからテキストへの変換

例

  • 入力
    Hello
    Output
    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

関連用語

関連ツール

References