可能的DEFLATE压缩级别[0 .. 9],Java的Deflater.DEFAULT_COMPRESSION
对应哪一个?在Java源代码中,我将其视为public static final int DEFAULT_COMPRESSION = -1;
答案 0 :(得分:12)
java代码使用类new ZStreamRef(init(level, DEFAULT_STRATEGY, nowrap));
init方法是本机调用,ZStreamRef是对zlib的引用。所以它是zlib默认使用的东西。在版本1.2.8中,默认值为6,如devnull所述。
来自zlib手册
Compression levels.
#define Z_NO_COMPRESSION 0
#define Z_BEST_SPEED 1
#define Z_BEST_COMPRESSION 9
#define Z_DEFAULT_COMPRESSION (-1)
...
Z_DEFAULT_COMPRESSION requests a default compromise between speed and compression (currently equivalent to level 6).
答案 1 :(得分:11)
Z_DEFAULT_COMPRESSION
旨在成为速度和压缩效果之间的良好折衷。这是曲线上的膝盖。它当前等效的实际级别,6,是一个内部选择,如果压缩算法发生变化,可能会在未来版本中更改。所以你不应该依赖它等同于6级。