ITエンジニア/デザイナ向けにオープンソースを毎日紹介

HTML5によってローカルストレージが使えるようになり、キャッシュ以上に速いデータの読み書きが実現できるようになっています。しかし大きな欠点があります。それはストレージが1ドメイン5MBまでに限定されることです。

もっと大きなサイズで保存したい、そう思うこともあるかと思います。テキストデータであれば検討して欲しいのがlz-stringです。テキストデータを圧縮できるJavaScriptライブラリです。利点は圧縮率よりも処理の高速さにあります。

デモです。lz-stringの場合、1msで60 byte(48%)まで軽減しています。対するLZMAは36msで78 byteとなっています。
デモです。lz-stringの場合、1msで60 byte(48%)まで軽減しています。対するLZMAは36msで78 byteとなっています。

コンソールで試しています。
コンソールで試しています。

ちゃんとデコンパイルすると元の文字列が得られているのが分かります。
ちゃんとデコンパイルすると元の文字列が得られているのが分かります。

日本語でのテスト。696 byteが605 byte になっています。
日本語でのテスト。696 byteが605 byte になっています。

試した限りでは、短い文字に対して使うと却ってサイズが大きくなってしまう場合が多く、日本語の場合はあまり小さくならないように見えました。とは言え十分に長いテキストやプログラミングコードをストレージに保存しておくと言った使い方はできそうです。

lz-stringはJavaScript製のソフトウェア(ライセンスはWTFPL)です。

lz-string: JavaScript compression, fast! - pieroxy.net

デモ:lz-string: JavaScript compression, fast! - pieroxy.net

pieroxy/lz-string

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2