Архиваторы

Архиваторы - это программы, позволяющие создавать, за счет специальных методов сжатия, копии файлов меньшего размера и объединять копии нескольких файлов в один архивный файл, а также распаковывать архивы (извлекать файлы из архива).

Существуют различные алгоритмы архивации данных без потери информации, т.е. при разархивации данные будут восстановлены в исходном виде.

Самый простой алгоритм сжатия данных основан на замене повторяющихся битов (в тексте может иметься последовательность одинаковых символов, в графическом файле – закрашенная одним цветом область и т.д.). Например, в тексте подряд идут 10 пробелов, которые кодируются 10-тью байтами. При архивации они заменяются 3-мя байтами (первый байт – кодирует заменяемый символ; второй байт – специальный байт "флажка" архивации, который указывает на необходимость развернуть первый байт в последовательность байтов; третий байт указывает количество повторяющихся байтов).

Алгоритм кодирования одинаковых последовательностей символов ищет в текстовых файлах одинаковые слова, а в графических - одинаковые «узоры». Каждый такой фрагмент файла представляется определенным кодом (последовательностью бит) и в процессе архивации при повторных появлениях заменяется ссылкой на первичный код.

Наиболее популярные форматы архивов

ZIP - еще со времен ОС DOS один из самых популярных и распространенных архивных форматов, основанный на алгоритмах сжатия предложенных в 80-х годах прошлого столетия израильскими математиками Лемпелем и Зивом. Он отличается приемлемой степенью сжатия информации и достаточно высоким быстродействием. Сегодня он является стандартом де-факто в Интернете, и его поддерживают практически все программы-архиваторы.

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

CAB - применяется в продуктах Microsoft как стандартный для упаковки файлов, причем его алгоритм, нигде не опубликованный, представляет собой достаточно совершенный продукт, имеющий высокий коэффициент сжатия.

GZIP, TAR - получили наибольшее распространение в системах на базе Unix и ее самой популярной разновидности Linux.

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

Многие программы, являющиеся достаточно популярными в мире архиваторов базируются на том или ином формате и носят аналогичные названия. Например, для ОС Windows наиболее популярными являются архиваторы WinRAR, WinZIP, WinACE. Кроме этого все они имеют инструменты для работы с другими форматами архивов. Несмотря на это, могут возникнуть проблемы с совместимостью форматов архивов в различных программах. Во многих случаях удачным решением проблемы совместимости архивов различных типов является создание архивов в виде самораспаковывающихся программ (EXE-файлов), в состав которых входят все необходимые механизмы для извлечения информации из архива, таким образом, отпадает необходимость иметь на компьютере соответствующую программу-распаковщик архива.