このツールについて
Ascii85 / Base85 ツールは、バイナリデータを Ascii85(Base85 とも呼ばれます)との間で相互変換します。Ascii85 は 4 バイトを 5 個の印字可能文字にまとめるテキストエンコードで、Base64 より約 25% コンパクトです。PostScript や PDF のストリーム内(Adobe バリアント)や、パッチ/diff 形式で使われます。すべては TextEncoder/TextDecoder を用いてブラウザ内でローカルに実行され、貼り付けた内容がアップロードされることはありません。
エンコードでは入力を 4 バイトのビッグエンディアン単位で処理し、各グループを 32 ビット符号なし整数として読み取り、値を繰り返し 85 で割った余りに 33 を足して 5 桁を出力します。これにより各桁は印字可能な範囲 '!'(33)から 'u'(117)に収まります。すべてゼロのグループは 1 文字 'z' に圧縮されます。末尾の n バイト(1〜3)の部分グループはゼロで 4 バイトに埋めてエンコードし、出力末尾の 4−n 文字を切り捨てて n+1 文字を生成します。Adobe バリアントでは結果を '<~' と '~>' で囲みます。
デコードは処理を逆にたどります。空白やラッパーを除去し、'z' は 4 個のゼロバイトに展開し、5 文字グループを value = Σ (cᵢ−33)·85^(4−i) として読み取って 4 バイトのビッグエンディアンとして書き出し、末尾の m 文字(2〜5)の部分グループは 'u'(値 84)で埋めて m−1 バイトを保持します。方向、標準または Adobe バリアント、入力バイトが UTF-8 テキストか 16 進数かを選びます。