Конвертер з GZIP у Deflate

Перетворення потоку GZIP у сирий формат DEFLATE знімає зовнішню оболонку файлу та метадані заголовка, залишаючи лише корисне навантаження зі стисненими даними для спеціалізованих мережевих протоколів та низькорівневих архівів.

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V

Поки ви чекаєте на файли, можете пограти в Code Rain

Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Порівняння форматів та технічні характеристики

СпецифікаціяGZIPDEFLATE
MIME-типapplication/gzipapplication/zlib
Типконтейнер потоку DEFLATEнеоброблений потік DEFLATE
СтисненняDEFLATE (RFC 1951)LZ77 + кодування Хаффмана
Стандартна специфікаціяIETF RFC 1952IETF RFC 1950 / RFC 1951
Заголовок магічних байтів1F 8B (gzip ID1/ID2)78 01 / 78 9C / 78 DA (zlib header bytes)

Огляд формату та застосування

Перетворення потоку GZIP у сирий DEFLATE часто відбувається у веб-розробці, мережевому програмуванні та робочих процесах низькорівневого зберігання даних. Розробники часто стикаються з GZIP під час збереження окремих файлів на диск, оскільки формат містить корисні метадані, такі як оригінальні імена файлів та мітки часу модифікації. Однак сучасні протоколи стиснення HTTP та специфічні бінарні формати вимагають лише стиснені дані без будь-яких байтів обгортки. Виконання цього перетворення дозволяє інженерам передавати стандартні стиснені дані безпосередньо в мережеві потоки чи власні парсери. Наприклад, створення власного обробника відповідей HTTP або робота з архівами ZIP часто вимагає видалення заголовка GZIP та кінцевого блока CRC32 для ізоляції виводу сирого алгоритму. Видалення цих додаткових даних контейнера зменшує накладні витрати, коли кожен байт має значення в обмежених середовищах програмування.

Технічні специфікації та розбір кодеків

Потік GZIP з MIME-типом application/gzip має структуру контейнера, визначену RFC 1952. Він починається з двобайтової сигнатури (0x1F, 0x8B), за якою йдуть прапорці стиснення, час модифікації, ідентифікатор операційної системи та необов’язкове ім’я файлу. Далі містяться стиснені дані, а в кінці - чотирибайтова контрольна сума CRC32 і чотирибайтове значення нестисненого розміру. Натомість сирий DEFLATE - це потік бітів RFC 1951 без фіксованої сигнатури, заголовка чи кінцевого блока. MIME-тип application/zlib позначає потік DEFLATE в контейнері zlib за RFC 1950, а не сирий DEFLATE. Перетворення GZIP на сирий DEFLATE вилучає метадані й контрольну суму GZIP, зберігаючи стиснені дані.

Сумісність з ОС та браузерами

Сирі потоки DEFLATE працюють нативно на сучасних операційних системах та веб-середовищах за допомогою стандартних мов програмування, таких як Python, Node.js та C++. Браузери обробляють DEFLATE нативно через стек заголовків HTTP content-encoding. Операційні системи, такі як Windows, macOS та Linux, підтримують сирі потоки через системні бібліотеки стиснення, такі як zlib. Мобільні платформи, включаючи Android та iOS, забезпечують прямий доступ через API до рутин DEFLATE для власних шарів зберігання додатків.

Корисна інформація

Завжди перевіряйте, чи ваш цільовий парсер очікує чистий потік RFC 1951 замість потоку, оберненого в zlib, оскільки zlib додає двобайтовий заголовок, який парсери сирого DEFLATE відхилять.

Поширені запитання

Як конвертувати потік GZIP у сирий DEFLATE без втрати якості?

Обидва формати використовують ідентичні алгоритми стиснення без втрат. Конвертація означає лише зчитування контейнера GZIP, видалення десятибайтового заголовка й восьмибайтового кінцевого блока та збереження внутрішніх стиснених блоків. Дані не втрачаються, оскільки базовий алгоритм залишається незмінним.

У чому різниця між потоком GZIP та сирим DEFLATE?

GZIP - це повний контейнер файлу, який включає заголовок магічного байта, оригінальні імена файлів, мітки часу модифікації та нижній колонтитул контрольної суми. Сирий DEFLATE - це лише самі стиснені дані, що не містять заголовків, нижніх колонтитулів чи метаданих файлу.