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

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

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

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

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

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

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

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

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

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

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

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

Сирий DEFLATE - це потік бітів RFC 1951, у якому використовуються зіставлення LZ77 і кодування Хаффмана без обрамлювальних заголовків або фіксованої сигнатури. MIME-тип application/zlib позначає потік DEFLATE в контейнері zlib за RFC 1950, а не сирий DEFLATE. GZIP (application/gzip) містить дані DEFLATE у контейнері із заголовком, що починається байтами 1F 8B, і кінцевим блоком із контрольною сумою CRC32 та розміром нестиснених даних за модулем 2^32.

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

Потоки GZIP мають широку сумісність у сучасних операційних системах, включаючи Linux, macOS та Windows. Інструменти командного рядка, такі як gzip, gunzip та 7-Zip, нативно читають файли GZIP. Веббраузери автоматично обробляють декомпресію GZIP при отриманні HTTP-відповідей від серверів, хоча сирий DEFLATE часто вимагає спеціальної логіки синтаксичного аналізу всередині середовищ JavaScript або модулів WebAssembly.

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

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

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

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

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

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

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