ВверхДомой

Практическое занятие №4.

Архивы. Архиватор WinRar. Упаковка, распаковка архивов. Создание SFX-архивов.

Архивы.

Часто наши сообщения можно сказать намного короче. Точно также можно многие файлы сделать намного меньше. Для примера рассмотрим точечный рисунок *.bmp. Как выглядит файл? В нем записаны размеры картинки (например 200´ 300 пикселей), а затем для каждого из 60'000 пикселей указан номер его цвета. В таком случае, для абсолютно черного рисунка 200´ 300 в файле будет храниться 60'000 нулей. Хотя, кроме размеров, можно хранить всего одно число нуль и какой-нибудь символ, который показывает, что все точки одного цвета. Таким образом, мы сократим размеры файла во много раз. Возьмем другой пример: текстовый файл, в котором встречаются только буквы латинского алфавита (других знаков нет). В стандартной кодировке символов много (256), в рассчете на это каждая буква записывается восемью битами. Мы же используем всего 26 букв. Понятно, что для их записи можно было использовать 5 бит. Т.о. можно почти в 1,6 раз сократить исходный файл. Таких примеров очень много. Мы с ходу придумали способы уменьшить размеры файлов. Над такими способами работает много людей уже довольно давно. Приведенные нами примеры примитивны. Современные алгоритмы позволяют хорошо уменьшить (сжать) очень много типов файлов.

Зачем нужно сжимать файлы? Место на жестком диске, на дискете не бесконечно. Если какой-то файл не умещается на дискете, можно его сжать, и он на дискете поместится. Скорость передачи данных в Internet'е тоже не бесконечна. Если мы, заархивировав файл, уменьшим его в два раза, то он перешлется по почте в два раза быстрее.

Упаковка и распаковка архивов.

Программы, которые сжимают файлы, называются упаковщиками. Существует и обратная задача: по сжатому файлу восстановить то, что было. Возвращаясь к примеру сжатия рисунков bmp: программа Paint не поймет сжатый файл, она поймет файл только в привычном ей формате (60'000 нулей, а не один нуль!). Поэтому все архивы надо распаковывать. Для этого существуют программы-распаковщики.

Разные упаковщики действуют по разным алгоритмам. Поэтому распаковщик должен знать, каким алгоритмом запакован файл (иначе он просто не будет знать, как его распаковать). Вернемся к нашему примеру с текстовыми файлами: понятно, распаковщик должен точно знать, что мы использовали 5-битный формат, а не какой-нибудь другой.

Есть много распространенных алгоритмов упаковки. Чтобы знать, каким алгоритмом упакован файл, упакованному файлу присваивают соответствующее расширение: rar, zip, arj, cab,…

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

Архиватор WinRar.

Архиватор WinRar является комплексной программой. Он может как упаковывать, так и распаковывать файлы.

WinRar умеет упаковывать в двух форматах, создавая при этом zip-архив или rar-архив.

Чем zip лучше, чем rar:

  1. zip является стандартом, rar же постоянно улучшается. Поэтому любая версия программы WinRar может распаковать zip-архив. Но WinRar ранних версий не умеет распаковывать rar-архивы, созданные WinRar'ом более поздних версий (более поздние версии пакуют лучше, а ранние версии не знают алгоритма архивации). Поэтому в Internet'е вы чаще можете встретить zip-архивы: их может распаковать каждый.
  2. zip-архив создается существенно быстрее rar-архива.

Чем rar-архив лучше, чем zip:

  1. при создании rar-архива используется более хороший алгоритм, чем при создании zip-архива. Поэтому получающийся rar-архив меньше, чем zip-архив, полученный из того же файла.
  2. формат rar поддерживает многотомные архивы.
  3. кроме того, в rar-архив можно добавить информацию для восстановления.

WinRar умеет распаковывать много типов архивов: rar, zip, arj, cab, tar, gz…

Создание SFX-архивов.

Предположим, что вы хотите принести файл в такое место, где нет архиватора. А ваш файл, как на зло, не влазит на дискету. Если вы просто заархивируете ваш файл, то после вы не сможете его разархивировать и, следовательно, не сможете им пользоваться. Для этого существуют так называемые SFX- (self extractor) или самораспаковывающиеся архивы. Они несколько больше, чем обычные, но не требуют наличия распаковщика.

Выборочная архивация и извлечение.

Вы можете извлечь файлы из архива выборочно. Чтобы задать маску выборки, надо нажать клавишу “+” на цифровой клавиатуре. Точно так же вы можете выбирать файлы для архивации.

Дополнительные функции WinRar:

Многотомные архивы.

Если даже после упаковки файл не помещается на дискету, понятно, придется использовать несколько дискет. Для этого можно создать многотомный архив. Т.е. архив, разбитый на несколько файлов. (Для этого при исполнении команды “Добавить в архив” в окошке “Имя и параметры архива” на вкладке “Общие” есть поле “Разделить на тома…”).

Информация для восстановления.

При переносе файлов на дискетах, файлы иногда повреждаются. Для того, чтобы архив можно было восстановить, в него можно добавить дополнительную информацию. Она увеличит объем архива, но поможет его восстановить в случае чего.

Непрерывные архивы.

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

Пароль.

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

Задание:

Даны архивы 1.zip, 2.zip, many.zip. (Содержание их не так уж важно.)
  1. Разархивировать архив 1.zip в свою папку.
  2. Создайте zip-архив, содержащий только папку 1.
  3. Создайте rar-архив, содержащий только папку 2.
  4. Создайте самораспаковывающийся архив, содержащий только папку 3.
  5. Создайте многотомный непрерывный архив (с размером тома 10Кб), содержащий папки 1 и 2.
  6. Разархивировать из архива 2.zip только те файлы, вторая цифра в имени которых 1.
  7. *Распаковать из архива many.rar только те файлы, в имени которых вторая буква 3 или 8, а третья буква не 1.

ВверхДомой