Как узнать уровень сжатия gzip?

Учитывая gzip сжатый файл, как мне узнать, какой уровень сжатия (1-9) использовался для него?

4 ответа

Решение

Нет прямого способа определить уровень gzip.
По моему мнению, единственный способ определить это - распаковать файл и сжать его на разных уровнях, а затем сравнить результаты с существующим размером файла.
Я считаю, что уровень по умолчанию равен 6, поэтому в большинстве случаев это должен быть ваш ответ

Он хранится в заголовке файла. Чтобы увидеть это, используйте file команда. Например:

$ file testfile.gz
testfile.gz: gzip compressed data, from Unix, last modified: Sun Sep 15 14:22:19 2013, max compression

К сожалению, в заголовке есть только три возможных значения: максимальная скорость (уровень 1), максимальное сжатие (уровень 9) и "нормальное" (все остальные уровни). Но лучше, чем ничего!

gzip -l <filename> даст вам степень сжатия, но нет никакого способа непосредственно определить используемый уровень сжатия.

Нет прямого способа узнать это. Скорее всего, это 6 (текущее значение по умолчанию) или 9 (лучшее сжатие). вам нужно попробовать и сравнить.

См. https://stackoverflow.com/questions/16153334/how-to-determine-the-compression-level-of-deflate

Другие вопросы по тегам