Можно ли сжать уже сжатый файл?
Пример: учитывая сжатый файл, такой как file.zip
, можно ли сжать его в другой сжатый файл в UNIX, например так:
gzip file.zip
Можно ли сжать уже сжатый файл?
Пример: учитывая сжатый файл, такой как file.zip
, можно ли сжать его в другой сжатый файл в UNIX, например так:
gzip file.zip
Почему это не должно быть возможно?
Да, вы можете сжать уже сжатый файл.
Результат будет варьироваться в зависимости от исходных файлов и используемых алгоритмов сжатия.
Например, zip
сжимает каждый файл сам и помещает эти файлы в контейнер. Если сжатые файлы имеют большую избыточность, возможно, что gzip
или bzip2
могут сжать файл .zip
еще больше. Если в ваших файлах нет избыточности, возможно, целевой файл станет больше.
Во-первых, да, вы можете хранить один архив внутри другого файла архива. На этом окончательное "да" вашему вопросу заканчивается.
Может быть возможно дополнительно сжать сжатые данные, но вы не можете сделать это ни с одним из распространенных инструментов (ZIP, RAR, LHA, GZ, 7z и т.д.). Вместо этого вам понадобится инструмент, специально разработанный для дальнейшего сжатия ваших сжатых данных.
Тем не менее, большинство людей, изучающих сжатие файлов, не обращают на это особого внимания, поскольку ищут способы улучшить работу общих инструментов сжатия для различных распространенных форматов файлов, поэтому вряд ли вы найдете практичный инструмент для этого. Вместо этого вы должны взглянуть на параметры вашего инструмента сжатия и установить для него максимальное сжатие, которое он поддерживает, вместо этого, чтобы минимизировать размер ваших данных.
Нет, ты не можешь.