Архиваторы, основные алгоритмы и методы архивации

Архиватор — программа, осуществляющая объединение нескольких файлов в один архив или серию архивов, для удобства переноса или хранения. Многие архиваторы используют сжатие без потерь для уменьшения размера архива.

Простейшие архиваторы просто последовательно объединяют содержимое файлов в архив. Кроме него, архив должен также содержать информацию об именах файлов и длине оригиналов для их восстановления. Большинство архиваторов также сохраняют метаданные файлов, предоставляемые операционной системой, такие, как время создания и права доступа. Программа, создавая архив, обрабатывает как текстовые файлы, так и бинарные файлы. Первые всегда сжимаются в несколько раз (в зависимости от архиватора). Что же касается бинарных файлов, то здесь все зависит от их характера. Может быть сжато в десятки раз, но могут быть и случаи, когда сжатие почти не происходит. Сжатие данных обычно происходит значительно медленнее, чем обратная операция.

Характеристики архиваторов:

По степени сжатия

По скорости сжатия

Характеристики архиваторов — обратно зависимые величины. То есть, чем больше скорость сжатия, тем меньше степень сжатия, и наоборот.

Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. В настоящее время существует огромное множество программ для сжатия данных, основанных на нескольких основных способах.

Все алгоритмы сжатия данных качественно делятся на 1) алгоритмы сжатия без потерь, 2) с потерями, которые удаляют из потока данных информацию, незначительно влияющую на суть данных.

Существует два основных метода архивации без потерь:

- алгоритм Хаффмана (англ. Huffman), ориентированный на сжатие последовательностей байт, не связанных между собой;

- алгоритм Лемпеля-Зива (англ. Lempel, Ziv), ориентированный на сжатие любых видов текстов, то есть использующий факт неоднократного повторения "слов" – последовательностей байт.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: