У статті згадується 9 шарів поштових файлів, тож це не простий випадок зшивання купи нулів. Чому 9, чому 10 файлів у кожному?
По-перше, стаття Вікіпедії наразі говорить про 5 шарів з 16 файлами в кожному. Не впевнений, звідки походить розбіжність, але це не все так актуально. Справжнє питання - чому в першу чергу використовувати гніздування.
DEFLATE, єдиний широко підтримуваний метод стиснення для zip-файлів *, має максимальний коефіцієнт стиснення 1032. Це може бути досягнуто асимптотично для будь-якої повторюваної послідовності 1-3 байтів. Незалежно від того, що ви робите з поштовим файлом, доки він використовує лише DEFLATE, розмір розпакованого пакета буде не більше ніж у 1032 разів перевищує розмір вихідного поштового файлу.
Тому потрібно використовувати вкладені zip-файли, щоб досягти справді нецензурних коефіцієнтів стиснення. Якщо у вас є 2 шари стиснення, максимальне співвідношення стає 1032 ^ 2 = 1065024. Для 3 це 1099104768 тощо. Для 5 шарів, які використовуються в 42.zip, максимальний теоретичний коефіцієнт стиснення становить 1170572956434432. Як ви бачите, фактичний 42.zip далеко не той рівень. Частина цього - накладні витрати формату zip, а частина - те, що вони просто не хвилюються.
Якби мені довелося здогадуватися, я б сказав, що 42.zip формувався просто створенням великого порожнього файлу та неодноразово копіювання та копіювання. Немає спроб просунути межі формату або максимально стиснути чи що-небудь - вони просто довільно вибирали 16 копій на шар. Сенс полягав у створенні великого корисного навантаження без особливих зусиль.
Примітка. Інші формати стиснення, такі як bzip2, пропонують набагато, набагато і набагато більші коефіцієнти стиснення. Однак більшість аналізаторів ZIP не приймає їх.
PS Можна створити zip-файл, який розпакує копію самої себе (квинку). Ви також можете зробити той, який розпаковує до кількох копій. Тому, якщо ви рекрусивно розпаковуєте файл назавжди, максимально можливий розмір нескінченний. Єдине обмеження полягає в тому, що воно може збільшуватися щонайбільше до 1032 за кожну ітерацію.
PPS Малюнок 1032 передбачає, що дані файлу на блискавці є суперечливими. Одним із притаманних форматів zip-файлів є те, що він має центральний каталог, який перераховує файли в архіві та компенсує дані файлу. Якщо ви створюєте кілька записів файлів, що вказують на одні і ті ж дані, ви можете досягти набагато вищих коефіцієнтів стиснення навіть без введення, але такий zip-файл, ймовірно, буде відхилений парсерами.