压缩/解压缩:deflate算法,LZ77,huffman,gzip,zlib


deflate算法下的压缩器有三种压缩模型:

  • 不压缩数据,对于已经压缩过的数据,这是一个明智的选择。 这样的数据会会稍稍增加,但是会小于在其上再应用一种压缩算法
  • 压缩,先用LZ77压缩,然后用huffman编码。 在这个模型中压缩的树是Deflate规范规定定义的, 所以不需要额外的空间来存储这个树
  • 压缩,先用LZ77压缩,然后用huffman编码。 压缩树是由压缩器生成的,并与数据一起存储

gzip压缩算法是对deflate进行的封装。gzip本身只是一种文件格式,其内部通常采用Deflate数据格式,而Deflate采用LZ77压缩算法来压缩数据
gzip=gzip头+deflate 编码的实际内容+gzip尾

zlib压缩算法是对deflate进行的封装
zlib=zlib头+deflate编码的实际内容+zlib尾

https://blog.csdn.net/qq_41453285/article/details/106688596

Linux(程序设计):28---数据流压缩原理(Deflate压缩算法、gzip、zlib)_zlib, deflate-CSDN博客

你可能感兴趣的:(linux)