Text to Ascii85 コンバーター
テキストをAscii85にエンコードするか、Ascii85をテキストにデコードします。これはPostScript、PDFストリーム、Gitバイナリパッチで使われるBase85エンコードです。入力をUTF-8バイトに変換し、4バイトごとに!からuまでの5文字に変換します。4つのゼロバイトはzで表し、結果をAdobe形式の<~と~>の区切りで囲むこともできます。デコードではどちらの形式も受け付け、空白は無視されます。
よくある質問
Ascii85とは何ですか?
Base85とも呼ばれるAscii85は、バイナリデータを印字可能なASCII文字で表します。4バイトごとに!(33)からu(117)までの5文字に変換するため、Base64の33パーセントに対して、サイズ増加はわずか25パーセントです。AdobeはPostScriptとPDFでこれを使用しています。
Ascii85の既知の例を教えてください。
4文字の Man の後にスペースを付けると 9jqo^ になり、Man is distinguished は 9jqo^BlbD-BleB1DJ+*+F(f,q になります。テキスト sure. は F*2M7/c になります。ツールはこれらの値を出力し、元に戻すこともできます。
文字 z は何を意味しますか?
4つのゼロバイトからなるグループは、!!!!!の代わりに1文字のzで表されます。デコーダーはzを4つのゼロバイトに展開します。zを置けるのはグループの先頭だけです。
<~と~>の区切り文字とは何ですか?
Adobe形式では、Ascii85データの開始と終了を<~と~>で示します。エンコード時に追加するには、このオプションを有効にしてください。デコード時は、存在すればツールが削除するため、どちらの形式でも使えます。
最後の不完全なグループはどのように処理されますか?
入力の長さが4の倍数でない場合、最後のグループはゼロバイトで埋めてエンコードし、先頭からn+1文字だけを残します。デコード時はuで埋めて余分なバイトを削除するため、入力が正確に復元されます。
入力が拒否されるのはなぜですか?
有効な文字は!からuまでとzです。vからyまでの文字、グループ内のz、末尾に1文字だけ残る場合、または値が32ビットを超えるグループは無効です。空白は無視されます。
これはZ85やRFC 1924 Base85と同じですか?
いいえ。ZeroMQのZ85とRFC 1924では、異なる85文字の文字セットを使います。このツールはPostScript、PDF、Pythonのbase64.a85encodeで使われる、Adobe形式およびbtoa形式のAscii85を実装しています。
デコード時に無効なUTF-8と表示されるのはなぜですか?
Ascii85には、圧縮されたPDFストリームなどのバイナリデータが含まれることがよくあります。このツールは、有効なUTF-8テキストだけをデコード結果として表示し、読めないバイト列は出力せずにその旨を報告します。
ASCII以外の文字はどのようにエンコードされますか?
エンコード前にテキストをUTF-8に変換するため、アクセント付き文字や絵文字はそれぞれ複数のバイトになります。デコードすると同じ文字に戻ります。
どれくらいのデータを変換できますか?
1リクエストにつき最大5 MiBのテキストを処理できます。変換はサーバー上で実行され、入力は保存されません。