
Я хочу узнать, как сильно сжать файл. Я скачал файлы, размер которых в сжатом виде составлял 4 ГБ, а после извлечения они стали размером 10 ГБ. Какое программное обеспечение мне нужно использовать для такого сильного сжатия? Потеряю ли я качество данных при сжатии? Если вы направите меня к WinRAR или 7-Zip, пожалуйста, скажите, как мне сильно сжать файл, потому что я пробовал сжатие с их помощью, но размер уменьшился всего на несколько МБ.
решение1
В основном существует два типа сжатия: без потерь и с потерями. Когда вы используете программное обеспечение, такое как WinRAR и 7-Zip, они используют алгоритм без потерь. Когда вы используете программное обеспечение для копирования DVD, кодирования аудио/видео и т. д., они обычно используют алгоритм с потерями. Так что это зависит от того, с какими данными вы имеете дело. Если это неизвестные двоичные данные, вы, безусловно, будете использовать алгоритм без потерь. Если это аудио/видео, вы будете использовать алгоритм с потерями (за исключением случаев, когда вы не хотите терять качество).
Сжатие с потерями, безусловно, более эффективно с точки зрения размера данных, чем сжатие без потерь.
То есть, в вашем случае вы хотите сжатие без потерь. Я думаю, что наилучшая степень сжатия будет получена с алгоритмом LZMA в случае неизвестных двоичных данных. WinRAR не поддерживает его, насколько мне известно, для сжатия, но 7-Zip поддерживает, используя контейнер 7z. Когда вы создаете архив с помощью 7-Zip, выберите формат архивации 7z, затем алгоритм сжатия LZMA (или LZMA2), а затем вы сможете выбирать между несколькими предустановками, от плохой степени, но быстрого сжатия с использованием меньших ресурсов до лучшей степени, но медленного сжатия с использованием больших ресурсов.
решение2
Степень сжатия файла во многом зависит от его типа. Вообще говоря, текстовые файлы могут быть сильно сжаты (даже на 90% и более), тогда как некоторые форматы файлов, такие как изображения, уже сильно сжаты в своей существующей форме, и добавление их в сжатый архив мало что сделает или вообще ничего не сделает для дальнейшего уменьшения их размера.
При этом приложения вроде 7-Zip обычно имеют настройки, в которых можно выбрать уровень сжатия. Например, при создании архива с помощью 7-Zip можно выбрать один из шести уровней сжатия: от Store (без сжатия) до Ultra (наименьший размер файла). Более высокое сжатие требует больше времени на обработку, поэтому, если вы торопитесь или сохранение каждого байта не критично, выбор чего-то вроде Normal даст вам приемлемые результаты. Поскольку ваш вопрос касается того, как получить максимальное сжатие, вам, вероятно, будет удобнее выбрать Ultra. Но, опять же, некоторые файлы можно сжать гораздо сильнее, чем другие, и даже выбор Ultra при попытке сжать файл изображения может сэкономить вам не больше нескольких байтов пространства, если это так (в зависимости от различных факторов, включая исходный размер файла).
решение3
Размер был уменьшен всего на несколько МБ.
Похоже, данные уже сжаты. Сжатие уже сжатых данных сэкономит вам совсем немного места.
Пожалуйста, скажите мне, как можно сильно сжать файл, поскольку я уже пробовал сжимать его с его помощью.
Использование 7-zip или winrar должно работать нормально. При сжатии с помощью Winrar или 7-zip у вас есть возможность использовать лучшее сжатие ценой более длительного времени.
Потеряю ли я качество данных при сжатии?
При использовании сжатия без потерь (например, 7-zip/winrar) — нет. Алгоритмы сжатия вроде MP3 или jpeg теряют качество при сжатии.
решение4
Теперь есть волшебный способ превратить 10 ГБ в 4 ГБ. Если у вас есть файл размером 10 ГБ, состоящий из 10 000 000 000 повторений буквыА, его можно сжать до нескольких сотен байт. Если это 10 ГБ случайных данных, вы вообще не сможете их сжать.