2011年2月23日水曜日

beatrice.js

beatrice.js は JS で ZIP ファイルの解凍を行うライブラリーです。

JS で ZIP の解凍自体は昔からあるのだけど、メガ単位のファイルを処理させるとスタックオーバーフローを起こしたり、最悪の場合メモリが無くなるまでメモリを消費し続けるので使い物にならない。そこで beatrice.js を作った。

元々 File API と組み合わせて使うために作っているので、一度16進数に変換しなくてはいけなくなるので、そこでかなりのオーバーヘッドになっている。

あとinflate や base64 に utf8 は別個に用意する必要があります。

デモ (Chrome と Firefox で動きます。解析時間はファイルサイズに比例するので、大きいファイルを開く場合は時間がかかります。)