Первый вопрос: 40%. Это то, сколько "места" было удалено из исходного файла, когда он был сжат. Размер .zip-файла включает в себя служебные данные, такие как значения CRC, внутренний индекс файла и т.д. Чем меньше исходный файл, тем больше относительное соотношение пространства, используемого для служебных данных.
Чтобы найти сжатый размер файла без накладных расходов, используйте unzip
и перечислите содержимое
unzip -v archive.zip
Ваш пример, вероятно, использовал ~ 173 байта или ~ 23% архива для служебных данных. Выполнение файла размером 18 КБ потребляло примерно одинаковые служебные данные в 162 байта или ~ 0,2% от размера файла zip.
Математика для вашего случая: сжатый размер ~ 584 байта, сэкономленное место 973-584 = 389 байтов, степень сжатия 584/973 = 60% или коэффициент дефляции 389/973 = 40%, накладные расходы 757-584 = 173 и 173/757 = 23%.
Бонусный раздел: Выход.
Вы можете прочитать этот вывод и проанализировать его, если хотите. Дефлированный процент будет как можно ближе без десятичных разрядов. Если вы обрабатываете один файл, это неплохо. Если вы обрабатываете несколько в одном архиве, это может быть интересно, но все же возможно. Лучше использовать команду unzip
выше. Если вы запустите его в своем архиве, вы увидите, что в нем указан размер файла и сжатый размер дважды. Второй раз - сводка для архива, который в данном случае представляет собой один файл. Если у вас есть несколько файлов, итоговая сумма представляет собой общую сумму сэкономленного пространства в процентах от исходного размера файла.
Поскольку вы студент, я оставлю работу по анализу вашему воображению в качестве упражнения для оттачивания вашего мастерства.
Удача.