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 表現(初期の提案)
- コンパクトなバイナリからテキストへの変換
例
- 入力
HelloOutput87cURD]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
関連用語
Base64
Base64 は任意のバイナリデータを 64 種類の印刷可能 ASCII 文字(A-Z、a-z、0-9、+、/)へ写像し、バイナリデータをテキスト専用チャネルで伝送できるようにする。 用語集
Base91
Base91 はバイナリデータを 91 種類の印刷可能 ASCII 文字へ符号化する方式であり、膨張率は約 23% で Base64 よりコンパクトである。 用語集
UUencode Encoding
UUencode(Unix-to-Unix encoding)は、初期のUnixシステムがUUCP上でバイナリファイルを転送するために使ったバイナリからテキストへの変換方式で、その後Base64/MIMEに取って代わられました。 用語集