DEFLATE用于gzip和png压缩是否相同?

时间:2018-01-23 23:06:59

标签: png gzip huffman-code deflate lz77

我读过关于gzip压缩和png图像压缩的内容,他们都使用DEFLATE算法,但我不确定该算法的实现是否相同。另外,如果它是相同的算法,那么这些压缩之间的区别是什么,除了png压缩在DEFLATE之前使用增量过滤这一事实?

2 个答案:

答案 0 :(得分:0)

简短回答是肯定的,他们使用相同的deflate算法。请参阅this link中的第一个答案,了解血腥细节。以下是摘录

  

zlib库提供Deflate压缩和解压缩代码   供zip,gzip,png使用(在deflate上使用zlib包装器   数据)和许多其他应用程序。

答案 1 :(得分:0)

DEFLATE是压缩数据格式,而不是算法。 gzipPNG都使用deflate压缩数据格式,并使用不同的压缩数据包装器。两者都可以有多个放气流。

gzip是一个命令行实用程序,具有符合DEFLATE标准的压缩器的 实现。在编写gzip之后的某个时候,编写该压缩器的人Jean-loup Gailly改编了zlib的代码,这是一个通用的压缩库。 zlib是为了使图像采用PNG格式而明确写成的。大多数PNG压缩器使用zlib。

由于zlib的压缩代码是从gzip改编而来的,因此实现非常相似,但并不完全相同。如果使用gzip和zlib中的压缩代码压缩相同的数据,除了短输入外,通常会得到不同的结果。压缩器决定发射放气块的方式以及算法的调整参数都有变化。