Как я могу заменить файл в Winrar и сохранить степень сжатия? - PullRequest
0 голосов
/ 25 сентября 2018

Например, у меня есть файл A.bin с коэффициентом 50%, как я могу заменить его аналогичным A.bin (точно такого же размера) извне и сохранить в точности коэффициент 50%?

1 Ответ

0 голосов
/ 25 сентября 2018

Коэффициент сжатия определяется как размер сжатого файла по сравнению с исходным файлом.К сожалению, не всегда возможно достичь заданной степени сжатия для определенного файла.

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

Все это означает, что достижимая степень сжатия в значительной степени зависит от того, что представляют собой данные, и от алгоритма, используемого для их сжатия, это не обязательно легко настраиваемый фактор.Если, изменив файл, вы добавите больше «случайности» к данным, будет невозможно получить лучший коэффициент сжатия.

Теперь, если сжатые размеры ваших файлов одинаковы, их можно заменить в архив, но, как вы можете видеть, получить два сжатых файла одинакового размера нетривиально.

Если вы можете надежно гарантировать, что ваше преобразование в файл уменьшает энтропию, тогда вы сможете гарантировать, что сжатый файл будет меньше, и добавьте дополнительные нулевые байты, чтобы сохранить размер сжатых данных одинаковым (искусственно увеличьте степень сжатия),

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...