有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

macos OS X gzip是否可以配置为与Java GZIPOutputStream匹配?

我试图比较Java和CLI GZIP命令上通过GZIP运行字符串的输出。输出不一样,我已经弄明白了原因,但不确定如何让它们彼此摇摆

我已经阅读了很多关于gzip的问题,阅读了gzip的手册页,以及GZIPOutputStream和DeflaterOutputStream的代码。GZIPOutputStream的默认压缩级别(通过平减指数设置)是“-1”,对于这意味着什么,几乎没有解释。此外,gzip CLI只允许值介于1和9之间(含1和9)

那么,有没有办法更改Java或gzip命令中的压缩设置,使它们产生相同的输出


共 (1) 个答案

  1. # 1 楼答案

    不是。Java使用的是zlib deflator,它源于旧的gzip命令行实用工具deflator,但并不完全相同。它们通常不会产生相同的输出,并且没有强制它们这样做的设置

    压缩级别-1请求默认的压缩级别,在当前的zlib实现中是6

    我不得不问你为什么要让他们的产出保持一致。重要的是压缩是无损的,即gzip和Java压缩流在解压缩时都会产生相同的原始数据。例如,不要求不同版本的zlib在相同的压缩级别下产生相同的输出