search

Found

info 概要

Ascii85とZ85の2方式でテキストをBase85エンコード・デコード。PDFのAscii85とZeroMQのZ85を1画面で相互変換し、不正文字はその場で検出

📘 使い方

  1. エンコードかデコードかを選択
  2. Ascii85かZ85の方式を選択
  3. 入力欄にテキストまたはBase85文字列を入力

Base85エンコーダー/デコーダー

コピーしました
Article

Base85エンコーダー・デコーダー|Ascii85/Z85対応オンライン変換

Base85は4バイトを5文字に詰めるバイナリ→テキスト変換で、Base64より符号化の太り(オーバーヘッド)が少ないのが特長です。このツールはAdobe系のAscii85とZeroMQのZ85を1画面で切り替え、入力した文字を変換結果と不正文字の検出として表示します。

💡 このツールについて

PDFやPostScriptの中身を覗くと、画像やフォントが<~ ... ~>で囲まれた文字列で埋め込まれていることがあります。これがAdobeのAscii85です。一方ZeroMQのソケット鍵やCURVE証明書を扱うと、引用符に強いZ85という別方式が出てきます。「85進って書いてあるのに、ツールによって出力が違う」と戸惑った経験は、この2方式が混在しているのが原因です。

このツールは変換方向(エンコード/デコード)と方式(Ascii85/Z85)を独立して選べるので、PDFの埋め込みデータを読み解く作業と、ZeroMQの鍵をやり取りする作業を同じ画面でこなせます。入力はブラウザ内でUTF-8バイト列に変換してから処理し、Ascii85ではzによる4連続ゼロの短縮も復元します。不正な文字が混ざっていれば、その文字を名指しでエラー表示するので、コピペで欠けた1文字を探す手間が減ります。

🧐 よくある質問

Base85とAscii85とZ85は何が違いますか? Base85は「85種類の文字で表す方式」の総称です。Ascii85はAdobeがPostScript/PDF向けに定めた具体的な実装で、<~~>の区切りと、4連続ゼロをz1文字に縮める仕組みを持ちます。Z85はZeroMQが定めた実装で、引用符やバックスラッシュを含まない文字集合を使い、プログラム中の文字列に埋め込みやすくしてあります。

Base64と比べてどのくらい得ですか? Base85は4バイトを5文字にするので約25%の増加です。Base64は3バイトを4文字にするため約33%増えます。同じバイナリならBase85のほうが文字数が少なく済みます。

Z85で「長さが5の倍数でない」とエラーになるのはなぜですか? Z85のデコードは5文字を4バイトに戻す設計のため、文字数が5の倍数でないと復元できません。エンコード側でも本来は入力を4バイト単位に揃える必要があり、このツールは不足分を自動で詰めて出力します。

Ascii85のz<~ ~>は手入力で省略できますか? 区切りの<~~>は付いていなくてもデコードできます。zは4連続ゼロを表す短縮記号なので、そのまま貼り付ければ復元されます。

📚 Ascii85が使われている意外な場所

Adobeが定めたAscii85は、PDFやPostScriptの画像・フォント埋め込みだけでなく、Gitのバイナリパッチ(git diff --binaryが出力する差分)にも使われています。テキストとして扱えるバージョン管理にバイナリを乗せるための、古くて堅実な選択です。日本国内でも電子書籍や印刷入稿のPDFを解析する場面でAscii85に出くわすことがあり、「謎の<~で始まる長い文字列」の正体がこれだと分かると、ファイル構造の読解が一気に進みます。