Сжатие данных и архиваторы
💻 Информатика · 9 класс
Что такое сжатие данных
Сжатие данных — это преобразование информации, при котором она занимает меньше места в памяти, но может быть восстановлена. Программы, которые сжимают файлы и собирают их в один архив, называют архиваторами.
Сжатие возможно потому, что в данных часто встречаются повторы и закономерности. Если их закодировать короче, объём уменьшится без потери смысла.
Два вида сжатия
| Вид | Что происходит | Где применяют |
|---|---|---|
| Без потерь | Данные восстанавливаются точно | Текст, программы, документы |
| С потерями | Часть данных отбрасывается навсегда | Фото, звук, видео |
Сжатие без потерь обязательно для текста и программ: потеря даже одного символа испортит файл. Сжатие с потерями допустимо для картинок и звука, где небольшие изменения незаметны для человека.
Простой пример сжатия
Один из приёмов — кодирование повторов. Длинную цепочку одинаковых символов заменяют на символ и число повторов.
исходная строка: AAAAAABBB
записываем: А6В3
было 9 символов -> стало 4 символаТак строка из девяти символов сжалась до четырёх. При распаковке по записи А6В3 легко восстановить исходную строку точно.
Коэффициент сжатия
Эффективность сжатия оценивают коэффициентом — отношением исходного размера к сжатому. Чем он больше, тем сильнее сжался файл.
исходный размер: 800 Кбайт
сжатый размер: 200 Кбайт
коэффициент = 800 / 200 = 4Частая ошибка: думать, что любой файл можно сжать в разы. Уже сжатые файлы (например, картинки определённых форматов) почти не сжимаются повторно — повторов в них почти не осталось.
Зачем нужны архиваторы
- Уменьшают размер файлов для хранения и пересылки.
- Собирают много файлов в один архив — удобно передавать.
- Позволяют защитить архив паролем.
Почему текст сжимается хорошо
В обычном тексте одни символы встречаются гораздо чаще других: например, пробел и распространённые буквы. Алгоритмы сжатия без потерь кодируют частые символы короткими цепочками бит, а редкие — длинными. В среднем запись становится короче. Именно так работают популярные алгоритмы сжатия текста. Чем больше в данных закономерностей и повторов, тем сильнее их удаётся сжать.
Сжатие с потерями подробнее
В фотографиях, музыке и видео человек не замечает мелких деталей: едва различимых оттенков или очень высоких звуков. Сжатие с потерями отбрасывает именно такую малозаметную информацию. Благодаря этому файлы уменьшаются в десятки раз, но восстановить исходные данные точь-в-точь уже нельзя.
| Свойство | Без потерь | С потерями |
|---|---|---|
| Точное восстановление | Да | Нет |
| Степень сжатия | Умеренная | Очень высокая |
| Где применяют | Документы, программы | Фото, звук, видео |
Кратко о главном
- Сжатие уменьшает объём данных за счёт устранения повторов.
- Сжатие без потерь восстанавливает данные точно, с потерями — отбрасывает часть.
- Текст и программы сжимают только без потерь.
- Коэффициент сжатия — отношение исходного размера к сжатому.