Raw DEFLATE (.deflate)
IETF StandardníDEFLATE je široce používaným algoritmem bezztrátové komprese dat v historii výpočetní techniky, který již více než tři desetiletí pohání archivy ZIP, proudy GZIP, obrázky PNG a webovou kompresi HTTP.
Převést GZIP na DEFLATE
Bezplatný konvertor z GZIP do DEFLATE v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory DEFLATE kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory DEFLATE kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
Surové DEFLATE nemá pevnou signaturu; proudy zabalené do zlib začínají proměnlivými bajty CMF/FLGASCII REPREZENTACE: Bez pevného podpisu
Standardizace: IETF RFC 1951 / RFC 1950 (zlib)
Technické specifikace
| Architektura kontejneru | Surový bitový proud RFC 1951 nebo proud zabalený do zlib podle RFC 1950 s 2bajtovou hlavičkou a kontrolním součtem Adler-32 |
| Komprese | Posuvný slovník LZ77 (okno až 32 KB) v kombinaci s dynamickým či statickým entropickým kódováním Huffmanovým kódem |
| Pořadí bajtů | Little-endian pořadí bitů |
| Barevné prostory | Nevztahuje se (proud komprimovaných dat) |
| Kanály a struktura | Proud surových binárních dat nebo textu |
| Max. rozměry | Neomezená délka proudu |
| Průhlednost | 100% bezztrátové zachování dat bit po bitu |
| Streamování a progresivní načítání | Blokový bitový proud podporující libovolné průběžné streamování bajtů |
Technická srovnávací matice: DEFLATE vs konkurence
| Technický atribut | DEFLATE (Aktuální) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardizace | IETF RFC 1951 (Raw) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Klouzavé okno | Max. 32 kilobajtů | Max. 32 kilobajtů | Až 16 megabajtů | Až 2 gigabajty |
| Režim kontrolního součtu | Adler-32 (v obalu zlib) | CRC-32 (v obalu gzip) | Proud nemá žádný vestavěný kontrolní součet | xxHash64 (64bitový rychlý hash) |
| Každodenní použití | Obrázky PNG, proudy PDF, ZIP | Unixové .tar.gz, HTTP gzip | Webové fonty (WOFF2), HTTP br | Jádro Linuxu, databáze, hry |
Běžné režimy poškození a příručka pro obnovení v hex
Dekomprese selže s hlášením „Z_DATA_ERROR: incorrect data check“.
Hlavní příčina: Nesoulad v 4bajtovém kontrolním součtu Adler-32 na konci proudu zabaleného v zlib.
Obnovení: Obejděte ověření Adler-32 pomocí surového (raw) inflate nebo proveďte opravu pomocí nástroje File2File.app Deflate Recovery.
Bezpečnostní analýza a vektory útoků na parser
Analyzátory DEFLATE musí přísně ověřovat kódy konstrukce Huffmanova stromu, aby se předešlo zápisům mimo vyhrazenou paměť pomocí ukazatelů.
Známé vektory útoků
- Neúplné nebo nadměrně obsazené tabulky délek bitových kódů dynamického Huffmanova stromu vedoucí k neplatným čtením z paměti.
- Dekompresní bomba (zip bomb), která rozbalí drobná data na stovky gigabajtů v paměti RAM.
- Čtení za hranicemi vyrovnávací paměti v neověřených kódech vzdáleností klouzavého okna.
Doporučené bezpečnostní postupy: Během dekomprese vynuťte omezenou maximální alokaci paměti a horní limity poměru expanze.
Historický vývoj a milníky
Klíčové výhody a přednosti
- DEFLATE je široce implementován v softwarových knihovnách a formátech souborů, dostupná podpora však závisí na běhovém prostředí a aplikaci.
- Specifikaci DEFLATE lze implementovat volně; licence a podpora závisí na konkrétní softwarové implementaci.
- Rychlá dekomprese s minimální paměťovou náročností (vyžaduje pouze 32 KB paměti klouzavého okna).
Technická omezení a nevýhody
- Klouzavé okno je omezeno na 32 KB, což snižuje kompresní účinnost u velkých souborů se vzdálenými redundancemi.
- Nižší kompresní poměry u moderních webových dat ve srovnání s novějšími algoritmy, jako jsou Brotli a Zstandard.
- Surové proudy DEFLATE bez obalu zlib nebo gzip neobsahují samopopisná metadata ani rámování kontejneru.
Zajímavé technické drobnosti
- Phil Katz vynalezl DEFLATE poté, co jej společnost Unisys zažalovala kvůli patentovanému algoritmu LZW používanému v raných utilitách PKARC.
- Standardní hlavičkové bajty zlib „78 9C“ označují výchozí kompresi, „78 01“ nízkou kompresi a „78 DA“ maximální kompresi.
- Formát PNG používá pro proud obrazových dat algoritmus DEFLATE, jak stanovuje specifikace PNG.
Často kladené technické otázky
Jaký je rozdíl mezi DEFLATE, zlib a gzip?
DEFLATE je surový kompresní algoritmus (RFC 1951). Zlib obaluje DEFLATE 2bajtovou hlavičkou a kontrolním součtem Adler-32 (RFC 1950). Gzip obaluje DEFLATE metadaty souboru a kontrolním součtem CRC-32 (RFC 1952).
Proč formát PNG používá DEFLATE?
Formát PNG byl vytvořen v roce 1995 jako náhrada za GIF bez použití patentovaných algoritmů LZW a pro kompresi zvolil otevřený a licenčně volný formát DEFLATE.
Jak mohu dekomprimovat surový soubor .deflate?
Surové datové proudy DEFLATE nebo zlib můžete dekomprimovat do původních nekomprimovaných souborů pomocí aplikace File2File.app přímo ve vašem webovém prohlížeči.
Související konverzní páry pro DEFLATE
Převedení proudu GZIP na surový DEFLATE odstraní vnější obal souboru a metadata hlavičky a zanechá pouze zkomprimovaný užitečný obsah pro specializované síťové protokoly a nízkoúrovňové archivy.
Konverze surového proudu DEFLATE na proud GZIP zabalí komprimovaná data do standardního kontejneru s hlavičkami metadat, aby je operační systémy a webové nástroje mohly správně přečíst.