经过大卫的一些评论,我决定修改我的问题。原来的问题见下文以及新修订的问题。我离开原来的问题,只是为了有一个历史,为什么这个问题是开始的。
原始问题(为jslzma设置LZMA属性)
我有一些大的json文件需要用ajax传输。我目前正在使用jQuery和$.getJSON()。我想在接收到文件时使用jslzma图书馆解压缩它们。目前,我正在使用django和pylzma库来压缩文件。
唯一的问题是缺少jslzma库的文档。有一些,但还不够。所以我有两个关于如何使用图书馆的问题。
它举了一个例子:
LZMA.decompress(properties, inStream, outStream, outSize);我知道如何设置inStream和outStream变量,但不知道properties或outSize。因此,有人能给出一个如何设置properties变量的例子吗?以及如何计算outSize.
谢谢。
编辑#1 (修订问题)
我正在寻找一种使用python (django)和javascript实现高度可重复数据的压缩方案。
正在传输的数据包含高度测量。每个文件都有1200x1200个数据点,这相当于未经压缩的原始二进制格式的2.75MB。JSON将其膨胀到5-6MB之间。我还研究了base64 (仅仅是为了涵盖所有的基础),这将减少规模,但我还没有在js中成功地阅读它。我认为,仅仅因为具有高度可重复的数据值,数据就可以方便地进行压缩。例如,一个文件只有83个唯一的海拔值来描述1440000个数据点。
我只是运气不佳,主要是因为我刚刚开始学习JavaScript。
那么,有人能为这种类型的数据提出一个压缩方案吗?目标是通过减少数据的大小来最小化传输时间。
谢谢。
发布于 2011-11-14 22:00:37
值得的是,LZMA通常是非常缓慢的压缩和解压缩;因此,使用更快的压缩方案更常见。标准的GZIP (平减)有相当好的平衡:它的压缩比是可以接受的,它的压缩速度比LZMA或bzip2要好得多。另外:大多数web服务器和客户端都支持gzip压缩的自动处理,这使得它的使用更加方便。
发布于 2011-11-13 08:01:19
使用Javacscript在客户端进行解压缩可能会花费更长的时间,并且很大程度上取决于客户端盒的可用带宽。为什么不只是实现一个较小但更快和更容易编写的解压缩,如rle、delta或golomb代码?或者你想调查压缩后的Jsons?
https://stackoverflow.com/questions/8109875
复制相似问题