0

ローカル ストレージに保存したい大きな JS オブジェクトがあります。圧縮して保存したいので、次のようにします。

JSON.stringify(article).length which gives me 168478

上記の出力を Windows の .txt ファイルに入れると、そのサイズは 169246 になり、JSON.stringify. 次に、ファイルを圧縮します。WinRAR を使用してデスクトップ バージョンを圧縮して.zipフォーマットしたところ、11284かなりの圧縮率である の出力が得られました。今、私はJSZipで同じことを試みます:

zip.file('article1', JSON.stringify(article));
var content = zip.generate({type : "string"});

圧縮されたコンテンツのサイズを確認するとcontent.length、元の文字列化されたオブジェクトよりもさらに大きい 176296 が得られます。それで、私は何か間違ったことをしていますか?

4

1 に答える 1

0

その理由は、javascript の文字列が UTF-16 でエンコードされているためだと思います。したがって、10MB の ascii テキスト ファイルは 20MB のメモリを必要とします。

于 2014-11-21T03:20:59.557 に答える