Архивирование (сжатие) информации

Сжатие (архивирование) информации – процесс уменьшения объема файла или папки (любой документированной информации, обладающей избыточностью). Например, слова "мама" и "молоко" при сохранении во внешней памяти компьютера в обычной однобайтной кодировке ANSI будут занимать 4 • 8 = 32 бит и 6 • 8 – 48 бит. Однако 8 бит используется при кодировании всех 224 символов (символы двух языков в строчной и заглавной раскладке, цифры, знаки препинания, спецсимволы), содержащихся в кодовой странице. В слове "мама" только два разных символа; можно сделать кодовую страницу только на два символа, закодировав их значениями 0 и 1. Следовательно, код слова "мама" примет вид 0101 и будет занимать всего 4 бита вместо 32. Рассуждая по аналогии для слова "молоко", в котором только 4 разные буквы, можно закодировать символы четырьмя разными кодами 00, 01, 10, 11. Код каждого символа будет двухбитным, а нс восьмибитным. Длина слова "молоко" в новой кодировке будет 6 • 2 = 12 бит вместо 48.

Содержимое сжатого файла невозможно увидеть (прочитать) с помощью обычных методов. Сначала необходимо разархивировать содержимое сжатого объекта той же программой, которой ранее производилось архивирование (сжатие). Наиболее распространенные программы архивирования WinZip, WinRar, WinArj обладают функцией разархивирования и поддерживают все команды работы с файлами и папками. Запрещена с целью исключения случайной ошибки пользователя только команда перемещения файла или папки из архива. Ее заменяют две команды: копировать, а после копирования удалить объект из архива. Вероятность двух случайных ошибок пользователя подряд мала.

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

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

Следует помнить, что сжатие дает эффект при наличии в информации избыточности. Файлы некоторых типов (форматов) сжимаются уже при сохранении из редактора или при записи, например *.jpg или *.jpeg. Повторное сжатие файлов этих типов, как и повторное сжатие самих архивов, дает уменьшение объема на 1–2%. Файлы *.mp3 сжимаются на 8–10%. Наилучшее сжатие получается при архивировании файлов текстовых форматов и файлов растровой графики *.bmp, *.tiff.

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

При архивировании файлов и папок следует помнить, что программы-архиваторы могут работать только с теку-

Рис. 11.10. Реакция на архив с именами файлов русскими и английскими буквами

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