用于随机访问压缩数据文件的简单API

Pav*_*sky 5 c++ compression gzip random-access

请推荐适合以下任务的技术.

我有一个相当大的(500MB)数据块,基本上是一个数字矩阵.数据熵很低(应该是可以很好地压缩的)并且存储位置很昂贵.

我正在寻找的是,使用一个良好的压缩算法(比如说,GZip)压缩它,并使用能够偶尔随机访问的标记.随机访问,如"从原始(未压缩)流中的位置[64位地址]读取字节".这与ZLIB等经典的deflator库有点不同,它可以让你连续解压缩流.我想要的是,每个字节读取的延迟,例如,多达1MB的解压缩工作的随机访问.

当然,我希望使用现有的库而不是重新发明NIH轮.

Edw*_*nge 0

我认为压缩算法通常以块为单位工作,因此您也许可以根据块大小提出一些建议。