Присоединяйтесь к нашим группам

Архивирование файлов: и хочется, и колется

Архивирование файлов: и хочется, и колется

Если вы когда-либо пользовались Gmail и некоторыми другими почтовыми сервисами, то могли столкнуться с тем, что для отправки папки с файлами необходимо либо отправить все документы по отдельности, либо заархивировать папку и отправить её в таком виде. Но всегда ли это уместно?

03 03 2020
23:15

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

Все хранящиеся на жестком диске файлы представляют собой двоичный код. Операционная система при помощи ряда специальных функций, пользовательских интерфейсов и периферии преобразует его в удобный для нас формат – текст, изображения, видео или аудио. Любой файл, каким бы уникальным он ни был, содержит в себе повторяющиеся элементы, которые кодируются одинаково. Их вполне можно зашифровать определенным, более простым набором символов. Это называется кодирование файлов. Чем чаще используется фрагмент, тем короче для него кодирующий модуль. Таким образом сокращается условный вес данных.

При архивировании данных можно задавать желаемую степень сжатия – в зависимости от того, насколько важным для нас является сохранение документа без потерь. Чем больше степень сжатия, тем меньше вероятность того, что мы сможем вернуть файл в исходном виде. Так что для файлов есть два основных типа архивирования – с потерями и без потерь.

Первый предполагает максимальную компактность объекта. Чаще всего он применяется к аудио- и видеофайлам, ибо потеря 5-10% качества (стирание деталей, появление шумов и т.д.) не является в данном случае критичным фактором, по крайней мере, при онлайн-работе со всемирной паутиной. На практике это можно увидеть, посмотрев любое потоковое видео. Подобные сигналы кодируются с максимальным сжатием, чтобы обеспечить передачу сигнала без потерь пакетов. Наглядный пример – стримерские видео на любой из доступных сегодня платформ. Если вы попробуете запустить собственный канал, то на вашем экране изображение будет иметь куда более высокое качество, чем на экранах зрителей.

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

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

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

Есть и ещё одна проблема: если по каким-либо причинам архив будет поврежден, может нарушиться структура кодирования и часть файлов будет безвозвратно утрачена. Причём обнаружить это до попытки распаковки архива невозможно. Тем временем оригиналы данных уже могут быть удалены с компьютера.

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

Дмитрий Потапкин, специально для Обзор.press.