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ů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

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/FLG

ASCII REPREZENTACE: Bez pevného podpisu

Standardizace: IETF RFC 1951 / RFC 1950 (zlib)

Technické specifikace

Architektura kontejneruSurový bitový proud RFC 1951 nebo proud zabalený do zlib podle RFC 1950 s 2bajtovou hlavičkou a kontrolním součtem Adler-32
KompresePosuvný 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é prostoryNevztahuje se (proud komprimovaných dat)
Kanály a strukturaProud surových binárních dat nebo textu
Max. rozměryNeomezená délka proudu
Průhlednost100% 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ý atributDEFLATE (Aktuální)GZBROTLIZSTD
StandardizaceIETF RFC 1951 (Raw) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Klouzavé oknoMax. 32 kilobajtůMax. 32 kilobajtůAž 16 megabajtůAž 2 gigabajty
Režim kontrolního součtuAdler-32 (v obalu zlib)CRC-32 (v obalu gzip)Proud nemá žádný vestavěný kontrolní součetxxHash64 (64bitový rychlý hash)
Každodenní použitíObrázky PNG, proudy PDF, ZIPUnixové .tar.gz, HTTP gzipWebové fonty (WOFF2), HTTP brJá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

1996Peter Deutsch formalizuje DEFLATE jako IETF RFC 1951 a zlib jako RFC 1950.
1995Jean-loup Gailly a Mark Adler vydávají zlib.
1991Phil Katz vynalézá DEFLATE pro PKZIP 2.0 jako náhradu starších algoritmů Implode a Reduce.

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.