ASCII85 デコーダを作りました

2020年9月2日

EPS の中を解析するときに必要になったので作ってみました。こちらになります。 ローカルPC上で Javascript 動作しますので、実行速度は使用PCの性能によります。 かつ、データもインターネット上に流さないので安全なハズです。

使い方

デコードしたい ASCII85 文字列をテキストボックス内に入力して、デコードを押します。 デコード処理が完了するとボタンの右側にダウンロードリンクが作成されますので、保存して完了です。 また、データによっては ASCII85 文字列の各行先頭に % (ポストスクリプト上でのコメント指定記号)がある場合があります。 その場合は行頭の % を無視するにチェックを入れてからデコードを押せば、正常にデコードされると思います。 さらに、EPS の保存バージョン9以降より、EPS ファイルの後半(%AI9_PrivateDataBegin 〜 %AI9_PrivateDataEnd 内)に Illustrator でのみ使用する データがあります。これも ASCII85 文字列ですが、デコードすると zlib により圧縮されたバイナリデータが得られます。 そこで特にこのデータ専用に、デコード後に圧縮解除する(zlib)という設定を用意しました。 これにチェックを入れてからデコードを押すと、ほぼテキストエディタで解析できるデータが得られると思います。

注意点

テキストボックスにデータをペーストする場合は、大きなデータ(256KByte以上くらい?)をペーストするとブラウザがフリーズすることがあります。 大きなデータをデコードする場合は、ASCII85 文字列だけをいったん別ファイルに保存して、ファイルから読み込みを使用してみてください。 今のところ、Google Chrome, Firefox にて動作確認してます。

謝辞

圧縮解除ルーチンに関しては、高度な JavaScript 技集ページ中の zlib.jszlib-inflate.js を使用させていただきました。 また ASCII85 のデコードルーチンに関しては、dojo toolkit 中の ASCII85 デコーダを 99% 流用しています。 最後になりましたが、この場をかりて御礼申し上げます。