0

我有一个大型 JS 对象,我想将其保存到本地存储中。我想将其压缩保存,因此我执行以下操作:

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

现在,如果我将上面的输出放入 Windows 中的 .txt 文件中,它的大小为 169246,接近 .txt 的输出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 回答