可能的压缩级别为0 ..9,Java的Deflater.DEFAULT_COMPRESSION到底对应于哪一个?在Java源代码中,我将其视为public static final int DEFAULT_COMPRESSION = -1;
发布于 2013-05-10 23:56:46
Z_DEFAULT_COMPRESSION旨在成为速度和压缩效率之间的一个很好的折衷。它是曲线中的膝盖。当前相当于6的实际级别是一个内部选择,如果压缩算法发生变化,在未来的版本中可能会发生变化。因此,您不应该依赖于它保持等同于级别6。
发布于 2013-05-10 23:32:36
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).https://stackoverflow.com/questions/16485573
复制相似问题