java – Deflater和GZip压缩之间的区别

我目前正在使用java.util.zip.Deflater进行压缩. java.util.zip.GZIPOutputStream也可用于压缩.这里我主要关注字节数组压缩.
任何人都可以告诉我这些Deflater和GZIPOutputStream之间的区别. (performancewise ..).

解决方法:

除非nowrap为true,否则Deflater会生成zlib包装的deflate压缩数据,在这种情况下,它会生成原始(未包装)deflate压缩数据.

GZIPOutputStream生成gzip包装的deflate数据.

deflate是RFC 1951中定义的压缩数据格式.

zlib是一个双字节头和四字节尾部,它提供了对未压缩数据的流和完整性检查的紧凑标识. zlib在RFC 1950中描述.

gzip是一个10字节的标头和8字节的预告片,提供元数据和完整性检查,其中元数据可以包括文件名,修改日期,原始操作系统,注释和额外数据. gzip在RFC 1952中描述.

除了头部和尾部中的几个字节差异之外,在性能方面没有区别.

上一篇:如何使用php提取或解压缩gzip文件?


下一篇:用于Java的VCDIFF或替代二进制差异格式