微信关注,获取更多

zlib、bz2、gzip以及压缩格式特点

压缩库

Python 常用的三个用于数据压缩/解压缩的库是: zlib, bz2, gzip

  • gzip:gzip压缩算法
  • zlib:对gzip所用算法的一个改进,去除部分冗余的信息,来提高对缓冲区数据的压缩速度。但核心算法和gzip是相同的。
  • bz2:wiki:Bzip2 uses several layers of compression techniques stacked on top of each other, which occur in the following order during compression and the reverse order during decompression. bz2所用算法是多层技术的自上而下的叠加,压缩与解压缩时各层技术顺序相反,或许这也是导致bz2压缩效率高但是压缩速度较慢的原因。

gzip

gzip/gunzip是GNU程序,后缀为.gz。Web也常用GZIP压缩技术。首先使用LZ77算法进行压缩,对结果再使用huffman编码进行压缩。tar中用-z来调用:

tar -czf pic.tar.gz *.jpg
tar -xzf pic.tar.gz

bzip2

bzip2/bunzip2,后缀为.bz2。相比于gzip,压缩比更高,压缩效果比传统的LZ77/LZ78更好,但压缩速度较慢。首先使用Burrows-Wheeler变换(BWT,块排序文本压缩),然后使用哈夫曼编码进行压缩。

tar中使用-j来调用:

tar -cjf pic.tar.bz2 *.jpg
tar -xjf pic.tar.bz2
zlib、bz2、gzip

未经允许不得转载:下一个课程 » zlib、bz2、gzip以及压缩格式特点

评论

4+2=

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏