Почта не пропускает письмо: вложение слишком тяжёлое. Первый порыв — закинуть снимки в архив, он же для того и придуман. Мы проверили на двенадцати фото со смартфонов: было 45,6 МБ, в архиве стало 45,0. А другим способом те же снимки ужались до 6,7 МБ.

📋 Что мы намеряли
Мы прогнали через ZIP и 7z двенадцать разных типов файлов. В ZIP фото со смартфонов стали легче на 1,4%, видео — на 0,4%, документы Word — на 0,6%, а в 7z — на 8%. Зато тексты сжались втрое, а в 7z — почти вшестеро, таблица CSV — вшестеро, а в 7z в восемь раз. Архив из архива вообще вырос. Для отправки фото работает совсем другое: уменьшенные до 2048 точек по длинной стороне, те же двенадцать снимков весят 6,7 МБ вместо 45,6.

Как мы проверяли

Взяли то, что лежит на компьютере у обычного человека. Двенадцать фотографий со смартфонов — снимки с двух моделей Samsung линейки Galaxy S20 и с Xiaomi Redmi Note 10 Pro, оригиналы от 1,9 до 11,5 МБ из открытого фотоархива Wikimedia Commons. Два видеоролика в MP4. Звук в двух видах: сжатый MP3 и несжатый WAV. Семь документов Word, три PDF, семь скриншотов в PNG, одно приложение для Android. И тексты: 289 статей нашего же сайта в простом текстовом формате плюс таблица CSV на 5,9 МБ — почти 94 тысячи строк биржевых котировок.

Сжимали двумя способами. Первый — обычный ZIP с алгоритмом Deflate: так упаковывает Windows пунктом «Сжать в» → «ZIP-файл» и Mac пунктом «Сжать». Второй — формат 7z на максимальном уровне сжатия, то есть лучшее, что может предложить бесплатный архиватор. RAR не брали: он платный — хотя WinRAR и после 40 пробных дней продолжает работать, только напоминает о покупке.

Компьютер — мини-ПК с процессором Intel Core i5-8259U 2018 года. Железо меняет в основном время: на другой машине те же настройки дадут те же мегабайты с точностью до долей процента.

Фото и видео: сжимать уже нечего

Двенадцать фотографий ZIP упаковал за 1,3 секунды и срезал 0,62 МБ из 45,6. Это 1,4%. 7z на максимуме считал 19 секунд — в пятнадцать раз дольше — и выжал 1,8%. Разница между ними на фото — 180 килобайт, меньше одного скриншота.

С видео ещё скучнее. Два ролика на 56,5 МБ после ZIP весят 56,3, после 7z — 56,2. Минус 0,4% и 0,5%. Такой выигрыш вы не заметите ни на флешке, ни в почте.

Музыка ведёт себя похоже, но с оговоркой. MP3 из ролика с музыкой сжался на 0,3%. А вот запись голоса в том же MP3 неожиданно стала легче на 12%. В ней 28 пауз, а пишется файл ровным потоком: куски тишины занимают столько же места, сколько звук, но внутри почти пусто. Похоже, их архиватор и подбирает — глубже мы не копали. В музыке пауз нет, и сжимать нечего.

🔢 Все замеры в одной таблице
Что сжимали Было ZIP 7z на максимуме
12 фото со смартфонов (JPEG) 45,6 МБ 45,0 МБ (−1,4%) 44,8 МБ (−1,8%)
2 видео (MP4) 56,5 МБ 56,3 МБ (−0,4%) 56,2 МБ (−0,5%)
MP3, ролик с музыкой 0,93 МБ −0,3% −0,1%
MP3, голос с паузами 3,6 МБ 3,15 МБ (−12%) 3,14 МБ (−13%)
7 документов Word (DOCX) 1,6 МБ −0,6% −7,7%
3 файла PDF 4,2 МБ 3,9 МБ (−7,7%) 3,8 МБ (−8,9%)
7 скриншотов (PNG) 6,1 МБ 5,7 МБ (−5,8%) 5,7 МБ (−6,7%)
Приложение Android (APK) 3,0 МБ 2,8 МБ (−9,2%) 2,7 МБ (−11%)
WAV, ролик с музыкой 6,8 МБ 5,9 МБ (−14%) 5,2 МБ (−24%)
WAV, голос с паузами 26,4 МБ 14,7 МБ (−44%) 8,7 МБ (−67%)
289 статей в текстовом формате 5,8 МБ 1,9 МБ (−67%) 1,0 МБ (−82%)
Таблица CSV 5,9 МБ 1,0 МБ (−82%) 0,7 МБ (−88%)

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

График: на сколько процентов уменьшились в архиве разные типы файлов, ZIP и 7z Чем ниже строка, тем лучше архиватору: сверху уже сжатые форматы, снизу хранящиеся как есть. Замер «Техпросто»

Почему сжатое второй раз не сжимается

Чтобы понять, откуда такой разрыв, надо знать, что вообще делает архиватор. Он ищет повторы. Встретил во второй раз фразу, которая уже была выше, — и вместо неё записывает короткую пометку: «взять 40 знаков, начиная с позиции, что была 3000 знаков назад». Заодно частым символам он выдаёт короткие коды, а редким — длинные — примерно как в азбуке Морзе. В тексте повторов полно: одни и те же слова, пробелы, окончания. Поэтому статьи сжались втрое.

Фотография в JPEG переживает то же самое ещё в смартфоне, причём в два этапа. Сначала смартфон выбрасывает то, чего глаз почти не различает, — самые мелкие детали и часть сведений о цвете. Потом смартфон упаковывает остаток тем же приёмом: что встречается часто — коротким кодом. На выходе получается поток байтов, в котором повторы уже вычищены. Для архиватора он выглядит как случайный шум, и зацепиться ему не за что. С видео и музыкальным MP3 та же история: у них свои алгоритмы сжатия, и работу архиватора они сделали до него.

Отсюда и самый странный результат эксперимента. Мы взяли уже готовый ZIP с фотографиями и упаковали его в ещё один ZIP. Архив вырос на 12,7 КБ.

⚠️ Архиватор может сделать файл больше

Это не сбой, а математика. Архиватор без потерь не может уменьшить все файлы подряд: коротких вариантов записи просто меньше, чем длинных исходников, и кому-то короткой записи не достанется. Если сжимать нечего, в архив ложатся исходные данные плюс служебные сведения — имена файлов, контрольные суммы, оглавление. Вот эти 12,7 КБ сверху мы и получили.

Документ Word — это уже архив

Самый неожиданный результат дали файлы Word: ZIP выиграл у них 0,6%. Причина в том, что DOCX сам по себе ZIP-архив. Переименуйте копию документа из .docx в .zip (если расширение не видно, включите его показ в проводнике) и откройте — внутри полтора десятка файлов.

Мы заглянули в один из наших документов весом 622 КБ. Внутри файл со стилями оформления: в развёрнутом виде он занимает 362 КБ, а в упакованном — 13 КБ. Word уже сжал его в 27 раз, когда сохранял документ. А вот картинка на 591 КБ внутри лежит почти без изменений — она PNG, и повторно её не сожмёшь. Отсюда практический вывод: если документ Word тяжёлый, дело почти всегда в картинках — сожмите их в самом Word через вкладку «Формат рисунка» → «Сжать рисунки». А 7z выжал из наших документов 7,7% потому, что жмёт все файлы одним потоком и находит повторы между ними: документы, сделанные по одному шаблону, во многом совпадают.

С приложениями для Android то же самое: APK — тоже ZIP-архив с программой внутри. Скриншоты в PNG сжимаются тем же алгоритмом Deflate, что и ZIP, так что искать в них архиватору уже нечего. PDF обычно тоже хранит содержимое упакованным, отсюда скромные 8%.

Мы каждую неделю так же берём и проверяем то, что обещают инструкции и реклама, — и объясняем результат простым языком. Подпишитесь на «Техпросто» в MAX, Telegram или Дзене, и новые эксперименты будут приходить сами.