DOS-версия
архиватора RAR.
Встроенная оболочка быстро сделала архиватор популярным.
|
Первым в голову приходит,
конечно же, ZIP: этот формат стал практически стандартом де-факто в
Internet. Вообще говоря, рекомендуется использовать именно ZIP-формат,
поскольку в этом случае можно смело передавать архивные файлы другим людям
и быть уверенным, что не возникнет проблем с распаковкой. Какую именно
программу использовать для работы с архивными файлами такого формата - это
уже другой вопрос, ответ на который частично будет дан ниже по тексту.
Консольный
файловый менеджер FAR.
Создан автором архиватора RAR. Обладает встроенной поддержкой
довольно большого числа форматов архивации.
|
Широко известен и формат RAR -
он был разработан российским программистом Евгением Рошалем. Резкому росту
популярности соответствующего архиватора способствовало наличие встроенной
графической оболочки в первых DOS-версиях. Отметить несколько файлов и
нажать кнопку - это совсем не то, что набирать длинную командную строку с
кучей опций. Кроме удобства пользования, качество собственно архиватора
весьма высоко. Это позволило RAR стать на сегодня одним из самых
распространенных форматов на территории нашей страны.
Еще один
архиватор - Ultra Compressor.
Имеет оболочку для облегчения файловых операций.
Большой популярностью не пользуется, хотя продукт довольно интересный.
|
ARJ не так давно был одним из
наиболее популярных форматов архивации данных. Популярность себе архиватор
ARJ снискал наличием большого числа опций. В частности, очень удобно
делалась разбивка архива на тома с последующей распаковкой по томам же. До
появления RAR и распространения Internet ARJ был, пожалуй, самым ходовым
форматом на территории бывшего СССР. Сейчас я бы не сказал, что ARJ так же
популярен, как и ранее, хотя, безусловно, известен.
Dos Navigator
- весьма известный файловый менеджер для DOS.
Обеспечивает поддержку большинства форматов сжатия.
|
CAB - это стандартный формат
упакованных файлов фирмы Microsoft. Соответствующая программа упаковки
представляет собой один из самых совершенных и оптимизированных продуктов.
Алгоритмы не публикуются и не описываются, потому многие специалисты потихоньку
сидят себе и облизываются на CAB.
JAR - Java-архиватор. Стандартный
формат, принятый при работе со средствами Java. Основан на формате ZIP.
HA - весьма медленный архиватор,
но с очень высокой степенью сжатия, особенно на текстовых файлах. Зачастую
используется при работе с различными коллекциями текстов.
LZH - очень старый формат. Был
популярен до появления ARJ. Сейчас встречается редко (в основном в старых
архивах).
Остальные форматы, пожалуй,
менее распространены и попадаются редко. В любом случае надо запомнить, что
расширение файла, как правило, является названием архиватора.
Программа
WinRar: просматриваем архивный файл.
Вполне привычный интерфейс стандартного файлового менеджера.
|
В рамках данной статьи нереально
рассмотреть множество архиваторов, да это, по сути, и не нужно. Остановимся
на двух самых распространенных форматах ZIP и RAR и соответствующих
программах-архиваторах - WinZip 7.0 и WinRar 2.60. Обе программы имеют
интерфейс Windows GUI (графический) и обеспечивают всю необходимую
функциональность при работе с архивами.
Программа
WinZip: просматриваем архивный файл.
Чтобы понять структуру каталогов внутри архива,
надо посмотреть на крайний правый столбец.
Это
немного непривычно, хотя и терпимо.
|
Итак, какие форматы сжатия
поддерживают эти программы? Очевидно, что WinZip понимает ZIP, а WinRar
понимает RAR. Но не все так просто. Кроме этих основных форматов, обе
программы понимают и некоторые другие. WinZip может просматривать и
распаковывать файлы традиционных для UNIX-систем форматов TAR, Z, GZ, TAZ и
TGZ. Создавать архивы в этих форматах, равно как и добавлять файлы в уже
существующие WinZip не умеет. С другой стороны, а нужно ли это? Простите за
сленговый язык, но виндовсовому, так сказать, виндовсово, а юниксу -
соответственно, юниксово. Далее, программа WinZip понимает распространенные
в Internet форматы для передачи бинарных данных посредством электронной
почты: UUencode, XXencode, BinHex и MIME. Можно извлечь закодированные
таким образом данные, а также закодировать в формат UUencode. WinZip
понимает форматы Microsoft - CAB и более "древний" Microsoft
Compress, зачастую называемый LZEXPAND. Кроме этих встроенных возможностей,
WinZip поддерживает форматы ARC, ARJ и LZH, но только при наличии
соответствующих внешних утилит.
А что нам предлагает WinRar?
Полную встроенную поддержку ZIP-формата. CAB, ARJ и LZH ограниченно
поддерживаются посредством соответствующих внешних утилит. Ограниченно
означает, что можно просматривать и распаковывать, но нельзя создавать и
модифицировать файлы таких форматов.
WinZip и WinRar очень даже
похожи по внешнему виду. На иллюстрациях заметны еще и разные способы
представления дерева подкаталогов внутри архива. WinZip показывает все
файлы "одной кучей" в отдельном столбце. И это полностью
соответствует способу хранения информации о пути внутри архива: путь - это
дополнительный атрибут файла. А вот в WinRar подкаталоги ZIP-файла изображены
аккуратно, как им и полагается. Чтобы увидеть, что там внутри, надо
произвести традиционный двойной клик мышкой по интересующей папке. Это
более привычно и, пожалуй, удобно.
WinRar:
функция оценки степени компрессии.
Можно вначале прикинуть, а затем архивировать.
|
Коснемся других интерфейсных
моментов: например, удобство в создании архивов и в их распаковке. Здесь разница
подхода тоже ощущается. WinRar всегда показывает определенную папку,
которую можно изменить точно так же, как это делается в обычном Проводнике
Windows. Поэтому идеология работы такова: пользователь выбирает нужные ему
файлы, нажимает кнопку Add и получает диалог, в котором задаются имя файла
архива (с возможностью просмотра), формат архивации (RAR или ZIP) и
различные опции архивации. После чего можно запустить процесс архивации.
Для распаковки же надо найти требуемый архивный файл, зайти внутрь него,
пометить необходимые файлы и нажать Extract.
У WinZip несколько другой
интерфейс. Когда пользователь делает новый архив, сначала предлагается
ввести имя архива, после чего высвечивается диалог выбора файлов для
архивации, причем текущая папка вовсе не совпадает с той, где мы создаем
архив, а является последней, из которой архивировали файлы. Лично мне очень
неудобно выбирать два раза один и тот же путь, если требуется создать архив
в том месте, где лежат файлы для архивации (на мой взгляд, абсолютно логичное
желание). После выбора файлов можно, наконец, запускать процесс архивации.
Что касается разархивирования, то используется схожий подход. Нажатие на
кнопку Open вызывает новый диалог. Выбрав в нем архивный файл, получаем его
содержимое в основном окне.
WinRar:
создаем новый архив. Доступно множество опций.
То, для чего другим архиваторам нужны внешние программы,
осуществляется простой расстановкой галочек в checkbox'ах.
|
Лично мне подход WinRar
представляется более логичным. Во всяком случае, число всплывающих диалогов
там меньше, что более удобно и менее запутанно. Помимо основных
функций упа-ковки и распаковки, обе программы обладают многими другими
полезными возможностями. Рассмотрим их.
Разбиение архива по томам. WinZip предлагает эту функцию
только в случае создания самораспаковывающегося архива, и размер томов
будет определяться наличием свободного места на носителе, куда производится
архивация. Называется все это в терминологии WinZip Spanning. WinRar
предлагает более гибкий и универсальный метод: в диалоге создания архива
есть поле ввода, где можно задать размер тома в байтах либо указать
автоматическое определение (Autodetect).
Создание самораспаковывающихся
архивов.
WinZip осуществляет эту функцию в виде отдельной программы - WinZip
Self-Extractor Personal Edition. Она может создать самораспаковывающийся
файл как 32- или 16-битный исполняемый код. Что касается WinRar, то этот
архиватор сделает Self-Extractor, если вы просто установите такую опцию при
создании архива. Какого типа будет этот файл - отдельный вопрос. Явных
настроек и опций нет, хотя WinRar создает выполняемые файлы для интерфейсов
Windows GUI, консольного Win32, DOS и OS/2. Задается это многообразие
следующим образом: в установочном каталоге WinRar есть файлы с расширением
SFX. Они представляют собой различные самораспаковывающиеся добавки. По их
названиям легко понять, "кто есть кто" - Dos.sfx, Os2.sfx и т. д.
Для создания самораспаковывающегося архива используется файл default.sfx.
Таким образом, переименовав нужный вам файл в default, вы получите желаемый
результат. Это, конечно, несколько сложнее, чем в WinZip, и для
неподготовленного пользователя может стать серьезной проблемой. С другой
стороны, тому же упомянутому неподготовленному пользователю редко
приходится создавать саморазвертывающиеся RAR-архивы для OS/2, а установка
по умолчанию (для Windows-оболочки) устроит в большинстве случаев.
WinZip:
создаем новый архив. Привычное диалоговое окно,
минимум опций и несколько кнопок.
|
Смешно говорить о возможности
сохранять и восстанавливать дерево подкаталогов, об установке баланса между
скоростью и качеством компрессии, а также о дополнении или стирании файлов
в существующем архиве. Все это есть в обоих архиваторах. В обоих продуктах
есть также возможность тесной интеграции с оболочкой. Под этим
подразумевается установка программ по умолчанию для открытия файлов
определенных типов (конечно же, имеются в виду поддерживаемые типы архивов)
и добавление программ в контекстные меню.
WinRar более насыщен редкими
опциями, например, Solid-архивы. В случае установки этого флажка WinRar
будет трактовать все упаковываемые файлы как один большой поток информации.
Другая интересная опция - это использование мультимедийной компрессии.
Данный алгоритм показывает хорошие результаты при архивации несжатой
аудиоинформации (например, файлов WAV) или картинок с высоким цветовым
разрешением.
В программу WinRar включена
функция починки архивов - Repair. Можно попытаться восстановить все
доступные файлы форматов RAR или ZIP. При этом из восстановленных файлов
будет создан архив _recover.rar или _reconst.rar (ну, или .zip, если
восстанавливался ZIP-архив). Шансы на благополучную починку существенно
увеличатся, если имеется recovery record - так называемая "починочная
запись". Что касается WinZip, то эта программа сама по себе не
содержит средств починки. Для этих целей надо воспользоваться программой
Pkzipfix из DOS-архиватора Pkzip 2.04 от PKWARE.
WinRar:
распаковываем архив.
Можно задать папку для распаковки
и указать множество дополнительных опций.
|
Хорошо. Все вышеописанное было
интересно, но главное ли это при сравнении двух архиваторов? Нет, нет и еще
раз нет. Главное - качество выполнения своих основных задач. А здесь
ключевыми параметрами являются качество сжатия и скорость работы. Чтобы не
изобретать велосипед, приведу открытые данные из весьма авторитетного
источника - Archive Comparison Test by Jeff Gilchrist (см., например,
Web-сайт act.by.net). Из нескольких больших и подробных таблиц были
извлечены данные, касающиеся архиваторов WinZip 7.0 и WinRar 2.60.
Архиватор
WinZip: настраиваем внешние вызываемые программы.
Это могут быть "смотрелки" файлов,
создатели самораспаковывающихся архивов,
антивирусные программы и т. п.
|
Тесты проводились на компьютере
Intel Pentium 200 MГц, 64 Mбайт EDO RAM, HDD WD 3,1 Гбайт, ОС Windows 98.
Целью эксперимента было получение максимальной степени сжатия, допускаемой
различными настройками.
1. Сжатие текстов
В один архив паковались три книги : English translation of The Three Musketeers by Alexandre Dumas
(1,3 Mбайт); Anne of Green Gables by Lucy Maud Montgomery (0,58 Mбайт); 1995
CIA World Fact Book (2,99 Mбайт).
Архиватор
|
Время сжатия
|
Время распаковки
|
Размер архива
|
WinZip
|
16,31 с
|
1,67 с
|
1,57 Mбайт
|
WinRar
|
60,82 с
|
2,13 с
|
1,24 Mбайт
|
|
2. Сжатие графических файлов
В один архив паковались 12
файлов формата TIFF, общим объемом 12,47 Mбайт.
Архиватор
|
Время сжатия
|
Время распаковки
|
Размер архива
|
WinZip
|
29,42 с
|
4,65 с
|
5,09 Mбайт
|
WinRar
|
47,67 с
|
15,68 с
|
4,12 Mбайт
|
|
3. Сжатие исполняемых программ
В один архив паковались
дистрибутивы DOS Chemical Analysis program (0,44 Mбайт), Windows 95/98
Netscape Navigator v 4.06 (2,9 Mбайт) и Linux 2.x PINE e-mail program (1,56
Mбайт).
Архиватор
|
Время сжатия
|
Время распаковки
|
Размер архива
|
WinZip
|
22,07 с
|
1,87 с
|
2,14 Mбайт
|
WinRar
|
66,41 с
|
21,34 с
|
1,95 Mбайт
|
|
Как нетрудно понять, WinRar
всегда побеждает по степени сжатия. Описываемый тест ACT включает еще
несколько блоков результатов, в том числе и для подборок разнотипных
файлов, но ситуация везде схожа: WinRar обеспечивает более высокое сжатие,
правда, работает медленнее. Надо заметить, что реально WinRar не такой уж
медленный. Если при работе с этим архиватором удовлетвориться сжатием на
соответствующем уровне WinZip, то скорости работы не будут сильно
отличаться (а иногда WinRar может быть и побыстрее). Просто суть теста ACT
заключается в достижении наибольшего сжатия.
Таким образом, можно сделать однозначный
выбор: WinRar обеспечивает лучшее качество компрессии, большее количество
опций, обладает значительно более интуитивно понятным интерфейсом.
Единственное неоспоримое преимущество WinZip - это работа с файлами формата
UNIX. А вообще говоря, существует масса бесплатных утилит со схожими с
WinZip функциями, и все зависит от вкусов конкретного пользователя. Так что
наш совет прост: четко представляйте себе, решение каких задач вы требуете
от того или иного архиватора, и тогда ваш выбор будет разумным и практичным.