Что такое сжатие по умолчанию?
из возможных уровней сжатия выкачать [0 .. 9], который именно Java Deflater.DEFAULT_COMPRESSION
соответствуют? В исходном коде Java, я вижу его как public static final int DEFAULT_COMPRESSION = -1;
2 ответов
Z_DEFAULT_COMPRESSION
предназначен для хорошего компромисса между скоростью и эффективностью сжатия. Это колено в изгибе. Фактический уровень, который в настоящее время эквивалентен, 6, является внутренним выбором, который может измениться в будущих версиях, если изменится алгоритм сжатия. Таким образом, вы не должны зависеть от того, что он остается эквивалентным уровню 6.
код 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).