7

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

4 ответа4

20

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

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

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

6

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

6

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .