Как избыточность реализована в архивировании, и как я могу извлечь из этого выгоду?
Я бы предположил, что он состоит из чего-то вроде хранения таблиц подстановки дважды, так что один дефект не делает весь остальной файл недействительным. Что касается варианта использования, возможно, при сохранении файла на компакт-диске, который получает небольшую царапину?
Однако лично я никогда не получал никакой прибыли от добавления избыточности к zip-файлам, и я склонен их опускать, поэтому мне было интересно, действительно ли они полезны на практике.
Ответы:
Я полагаю, вы говорите об адаптивном алгоритме LZ. Это не называется избыточностью из-за чего-либо, что дублируется в процессе создания zip-файла. Термин происходит от того, как работает этот метод сжатия.
Для иллюстрации приведу пример. Допустим, у меня был документ, содержащий фразу:
Если бы я хотел сократить эту фразу за счет избыточности, я бы сначала сделал словарь, содержащий все слова, которые были повторены, вот так
И тогда я бы переписал предложение как
Если я затем захочу сжать его дальше, я могу добавить следующее в свой словарь:
Так что становится
Как видите, чем больше проверок на избыточность вы пройдете, тем больше будет сжатие. Но вы также увеличиваете вероятность коррупции. Это связано с тем, что по мере роста словаря он становится более подверженным повреждениям, и если какая-либо часть словаря повреждена, остальная часть не может быть прочитана.
источник