- •Введение
- •1. Основные виды и функции
- •1.1 Основные виды программ-архиваторов
- •1.2 Показатель - степени сжатия файлов
- •1.3 Сжатие файлов при архивации
- •2. Архиватор arj
- •2.1 Основные понятия
- •2.4 Создание многотомных архивов
- •2.2 Структура командной строки для работы с программой arj
- •2.3 Основные команды программы-архиватора arj
- •Заключение
- •Список использованных источников и литературы
1.3 Сжатие файлов при архивации
При работе на персональном компьютере довольно часто возникает необходимость уменьшить размер файла с целью экономии места на диске. Например, требуется перенести файлы с одного компьютера на другой на дискетах. Или нужно переслать большой файл по электронной почте - уменьшив его размер, можно сэкономить и время и деньги. Лучшее решение в таких случаях создать так называемый архивный файл, или, проще говоря, архив. Это единый файл, в который для компактного хранения информации помещены в сжатом виде один или несколько исходных файлов.
Как известно, подавляющее большинство современных форматов записи данных содержат их в виде, удобном для быстрого манипулирования, для удобного прочтения пользователями. При этом данные занимают объем больший, чем это действительно требуется для их хранения. Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. В настоящее время существует огромное множество программ для сжатия данных, основанных на нескольких основных способах.
Все алгоритмы сжатия данных делятся на:
1) алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений;
2)алгоритмы сжатия с потерями, которые удаляют из потока
данных информацию, незначительно влияющую на суть данных, либо вообще невоспринимаемую человеком (такие алгоритмы сейчас разработаны только для аудио - и видео - изображений).
Преимущество отдается естественно, первой группе алгоритмов.
Существует два основных метода архивации без потерь:
алгоритм Хаффмана (англ. Huffman), ориентированный на сжатие последовательностей байт, не связанных между собой,
алгоритм Лемпеля-Зива (англ. Lempel, Ziv), ориентированный на сжатие любых видов текстов, то есть использующий факт неоднократного повторения "слов" - последовательностей байт.
Практически все популярные программы архивации без потерь
(ARJ, RAR, ZIP и т. п.) используют объединение этих двух методов - алгоритм LZH.
Алгоритм Хаффмана. Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, - реже. Следовательно, если $+o записи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов - длинные, то суммарный объем файла уменьшится.
Алгоритм Лемпеля-Зива. Классический алгоритм Лемпеля-Зива -
LZ77, названный так по году своего опубликования, предельно прост. Он формулируется следующим образом : <если в прошедшем ранее выходном потоке уже встречалась подобная
последовательность байт, причем запись о ее длине и смещении от текущей позиции короче чем сама эта последовательность, то в выходной файл записывается ссылка (смещение, длина), а не сама последовательность>. Так фраза <КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ>
закодируется как <КОЛО(-4,3)_(-5,4)О_(-14,7)ЬНИ>.
2. Архиватор arj
2.1 Основные понятия
Программа ARJ (разработчик - Robert K. Jung) относится к числу наиболее известных продуктов своего класса. Она выполняет все функции по обслуживанию своих, архивов, может помещать файлы в архив, извлекать файлы из архива, и делать «саморизвлекающиеся» файлы и так далее.
Программа ARJ позволяет:
· создавать архивные файлы из отдельных или всех файлов текущего каталога и его подкаталогов, загружая в один архив до 32000 файлов;
· добавлять и заменять файлы в архиве;
· извлекать и удалять файлы из архива;
· просматривать содержимое архива;
· создавать многотомный архив;
· защищать каждый из помещенных в архив файлов 32-битовым циклическим кодом, тестировать архив, проверяя сохранность в нем информации;
· получать помощь по работе на 3 международных языках;
· вводить в архив комментарии к файлам;
· запоминать в архиве пути к файлам;
· сохранять в архиве несколько поколений (версий) одного и того же файла;
· переупорядочивать архивный файл по размерам файлов, именам, расширениям, дате и времени модификации, коэффициенту сжатия и др.;
· осуществлять поиск строк в архивированных файлах;
· восстанавливать файлы из разрушенных архивов;
· создавать самораспаковывающиеся архивы как на одном томе, так и на нескольких томах;
· просматривать содержимое текстовых файлов, содержащихся в архиве;
· обеспечивать защиту информации в архиве и доступ к файлам, помещенным в архив, по паролю.
