S
i.4
i: if: ::S f
©
с ж а т и е
Ф а й л о в
Здравствуйте! He могли бы вы
объяснить начинающему поль-
зователю, как сжимаются
файлы всякими архиваторами?
Хотя бы в общих чертах, А то
я с трудом себе представляю,
как это вообще может быть.
Виталий
Как это происходит?
С
овершенно
верно,
Вита-
лий,
это действительно не
так просто себе представить, тем
более,
если
не знаешь алгорит-
ма. Но читателям журнала “Ком-
пьютер” повезло ;), поскольку я в
свое время много интересовался
алгоритмами
сжатия
данных
и,
как программист, даже пробовал
писать собственный архиватор.
Сжатие
данных
(англ,
data
compression) - алгоритмическое
преобразование данных,
произ-
водимое с целью уменьшения их
объема. Применяется для более
рационального
использования
устройств хранения
и
передачи
данных. Процесс сжатия еще на-
зывают
упаковкой
данных
или
компрессией.
Обратная
проце-
дура
называется
восстановле-
нием
данных
(распаковкой,
де-
компрессией).
Сжатие
основано
на
устране-
нии избыточности, содер-
жащейся
в
исходных
данных.
Простейшим
примером избыточнос-
ти является повторение
в
тексте
фрагментов
(например,
слов
ес-
тественного или
ма-
шинного языка).
Ї
Ґ
?
t M V !
Подробно об этом можно почи-
тать на странице
http://ru.wi кіре-
(ііа.огд/ткі/Сжатие_данннх.
Итак, давайте начнем с просто-
го примера. Допустим, у нас есть
текстовый файл, который содер-
жит строку текста:
АААГГД ЕЕЕЕЖЖУУУ ККККИ И И
Текст
довольно
странный,
со-
гласитесь,
но сейчас мы его со-
жмем, и он у нас будет занимать
меньше
места.
Основной
прин-
цип сжатия весьма прост и сво-
дится
к
следующему:
каждая
комбинация
подряд
повторяю-
щихся символов заменяется од-
ним
таким
символом
и
числом
его повторений. Т.е.
наш исход-
ный
текст
в
сжатом
виде
будет
выглядеть так:
АЗГ2Д1Е4Ж2УЗК4ИЗ
Таким образом, вместо 22 сим-
волов мы получили 16 симво-
лов. Конечно, такие тексты как
наш исходный встречаются
довольно редко, не говоря
уже о бессмыслице, кото-
ч ч.
. «к.
рая заключена в нем.
Но ведь файлы, под-
,
--
вергающиеся
сжатию,
Рл. /
üässsa
бывают не только
текстовые, но и
всякие картинки,
музыка, видео,
программы.
Данный пример
довольно упро-
щен и не отража-
ет эффектив-
ность, которую
обычно демонст-
рируют при ежа-
тии архиваторы.
Таку нас получи-
лось сжатие в
22/16 = 1,375 раза, хотя архива-
торы, как правило, способны
сжимать файлы в 2-10000 раз.
Все зависит от повторяемости
значений байт в файле.
Какие архиваторы
бывают
Н
апример, во времена неза-
бвенной MS-DOS были ар-
хиваторы ARJ, PKZIP, НА, RAR,
ARC, АСЕ и упаковщики про-
грамм LZEXE и PKLITE. Позднее
для операционной системы
Windows были созданы WinAce,
WinZIP, WinRAR, 7Zip и известный
-
мне упаковщик UPX.
Сжатие
бывает
с
потерями
и
без. Сжатие без потерь позволя-
ет
восстановить
исходные
дан-
ные с точностью до бита. Такое
сжатие применяется для упаков-
ки текста,
программ, различных
данных в купе и осуществляется
всеми
перечисленными
выше
архиваторами.
Сжатие с потерями можно на-
звать
адаптивным
сжатием,
и
применяется
для
упаковки
из-
ображений,
видео
и
звука,
по-
предыдущая страница 4 Компьютер 2012 06 читать онлайн следующая страница 6 Компьютер 2012 06 читать онлайн Домой Выключить/включить текст