Ascii85 / Base85 エンコーダー・デコーダー
ブラウザ上で Ascii85 と Z85 Base85 をエンコード・デコードします。テキストはお使いの端末内にとどまります。
Ascii85 / Base85 エンコーダー・デコーダーは完全にブラウザ内で動作します。エンコードまたはデコードするテキストや Base85 文字列がお使いの端末から出ることはなく、ArrayKit にアップロードされることもありません。
Base64 エンコーダー・デコーダーを開く
Ascii85 / Base85 について
Ascii85 / Base85 エンコーダー・デコーダーは、UTF-8 テキストを Ascii85 または Z85 に変換し、どちらの形式からも元の読みやすいテキストへ戻します。Ascii85(PDF や PostScript で使われる Adobe/btoa 方式)は 4 バイトごとに '!' から 'u' までの印字可能な 5 文字へパッキングし、4 バイト連続のゼロは 'z' 一文字に短縮されます。ZeroMQ の変種である Z85 は独自の 85 文字アルファベットを使い、エンコード時にはバイト長が 4 の倍数、デコード時にはテキスト長が 5 の倍数であることが求められます。Segmented コントロールで 2 つの方式、および Encode と Decode を切り替えられ、文字がアルファベット外だったり長さが不正な場合には何が問題かを正確に表示します。PDF ストリームの調査、ZeroMQ のメッセージフレーミング作業、Base85 出力と Base64 の比較などに便利です。処理はすべてローカルで行われ、貼り付けたテキストがブラウザの外に出ることはありません。
機能
- UTF-8 テキストを Ascii85(Adobe/btoa 方式、<~ ~> ラッパーなし)または Z85 にエンコード
- Ascii85 または Z85 を元のテキストへデコード
- Ascii85 と Z85 のアルファベットを切り替える Segmented コントロール
- Ascii85 デコードは空白と任意の <~ ~> ラッパーを許容
- 4 バイト連続のゼロを表す 'z' ショートカットを認識
- Z85 の長さが 4 または 5 の倍数でない場合の明確なエラーバナー
- 選択したアルファベット外の文字に対する明確なエラーバナー
- 完全にブラウザ内で動作し、テキストがどこにも送信されない
Ascii85 / Base85 の使い方
- バリアント切り替えで Ascii85 か Z85 を選択
- Encode タブを選択したまま、テキストを入力または貼り付け
- コピー ボタンで Base85 出力をコピー
- Decode に切り替え、Base85 文字列を貼り付けてテキストを復元
例
入力
Hello
出力
87cURDZ
"Hello" は Ascii85 で "87cURDZ" にエンコードされます。
よくあるエラーとトラブルシューティング
- Z85 デコードで 'requires input length to be a multiple of 5 characters.' と表示される。 — Z85 は常に 5 文字ずつグループ化されます。Z85 文字列全体を、途中で切れたり余分な文字が付いたりせずにコピーできているか確認してください。
- Z85 エンコードで 'requires input length to be a multiple of 4 bytes.' と表示される。 — Ascii85 と異なり、Z85 は部分グループをパディングしません。バイト数を 4 の倍数にするか、任意の長さを扱えるように Ascii85 に切り替えてください。
- Ascii85 デコードで 'Invalid Ascii85 character.' と表示される。 — Ascii85 は '!' から 'u' までの印字可能範囲のみを使います。貼り付けた文字列が Z85 や Base64 だったり、不要な記号が混ざっているとこのエラーになります。方式を切り替えるか、元の文字列を貼り直してください。
- デコード結果が単語ではなく文字化けしたバイト列に見える。 — 元データが UTF-8 テキストではなく生バイナリである可能性があります。デコード自体は成功していても、読みやすい文字としては表示されません。
よくある質問
- この Base85 エンコーダーにおける Ascii85 と Z85 の違いは何ですか?
- Ascii85 は PDF や PostScript が使う Adobe/btoa 方式で、'!' から 'u' を使用し、4 バイト連続のゼロを 'z' 一文字に短縮できます。Z85 は独自アルファベットを持つ ZeroMQ 方式で、'z' ショートカットや部分グループのパディングはサポートしていません。
- Ascii85 / Base85 エンコーダーは <~ と ~> のラッパーを付けますか?
- いいえ、エンコード結果は Adobe の <~ ~> 区切り記号なしの生の Ascii85 文字列です。Decode モードでは、入力に含まれていればラッパーを認識して取り除きます。
- 同じスタイルの Ascii85 デコードは成功するのに、Z85 デコードが失敗するのはなぜですか?
- Z85 はエンコード後のテキスト長がちょうど 5 文字の倍数であることを要求し、部分グループのパディング機構がありません。Ascii85 は内部で短い最終グループをパディングするため、Z85 では拒否される長さも許容します。
- この Base85 ツールでエンコードする際、テキストは UTF-8 として扱われますか?
- はい。入力したテキストは Base85 エンコード前に UTF-8 バイト列へ変換され、デコードされたバイト列も UTF-8 として解釈されるため、アクセント付き文字や絵文字も正しく往復変換されます。
- Ascii85 や Z85 をエンコード・デコードするとき、テキストはアップロードされますか?
- いいえ。Ascii85 / Base85 エンコーダー・デコーダーは完全にブラウザ内で動作します。貼り付けたテキストや Base85 文字列はお使いの端末にとどまり、ArrayKit にアップロードされることはありません。
- Ascii85 をデコードする際の 'z' ショートカットとは何ですか?
- 単一の 'z' 文字は、連続する 4 バイトのゼロのグループを表します。デコーダーは各 'z' を自動的にその 4 バイトのゼロへ展開するため、手動で処理する必要はありません。
関連ツール
すべての ArrayKit ツール