Как сказал @kinokijuf, есть заголовок файла. Но, чтобы расширить это, есть еще несколько вещей, которые нужно понять о сжатии файлов.
Заголовок zip содержит всю необходимую информацию для определения типа файла (магическое число), версию zip и, наконец, список всех файлов, включенных в архив.
Ваш файл, вероятно, не был сжат в любом случае. Если вы запустите unzip -l example.zip
вы, вероятно, увидите, что размер файла не изменился. 19 байтов, вероятно, будут генерировать больше служебных данных, чем было бы сохранено, если бы они вообще были сжимаемы DEFLATE (основной метод сжатия, используемый zip).
В других случаях, например, PNG-изображения, они уже сжаты, поэтому zip просто сохранит их. DEFLATE не будет беспокоить сжатие уже сжатого.
Если, с другой стороны, у вас было много текстовых файлов, а их размер составлял более нескольких килобайт каждый, вы бы получили большую экономию, поместив их все в один zip-архив.
Вы получите максимальную экономию при сжатии очень регулярных отформатированных данных, таких как текстовый файл, содержащий дамп SQL. Например, однажды у меня был дамп небольшой базы данных SQL размером около 13 МБ. Я запустил на нем zip -9 dump.sql dump.zip
и в итоге получил около 1 МБ.
Другим фактором является ваш уровень сжатия. Многие архиваторы по умолчанию сжимают только на среднем уровне, что приводит к снижению скорости. При сжатии с помощью zip попробуйте флаг -9
для максимального сжатия (я думаю, что в руководстве 3.x сказано, что в настоящее время уровни сжатия поддерживаются только DEFLATE).
TL; DR
Накладные расходы на архив превысили любые выгоды, которые вы, возможно, получили за сжатие файла. Попробуйте поместить туда большие текстовые файлы и посмотрите, что вы получите. Используйте флаг -v
при архивировании, чтобы увидеть свои сбережения на ходу.