Raw DEFLATE (.deflate)
IETF StandardníDEFLATE je nejrozšířenější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 do DEFLATE
Bezplatný konvertor z GZIP do DEFLATE v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Zkontrolovat 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 (OFFSET 0):
78 9C / 78 01 / 78 DAASCII REPREZENTACE: xœ / x. / xÚ
Standardizace: IETF RFC 1951 / RFC 1950 (zlib)
Technické specifikace
| Architektura kontejneru | Raw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum |
| Komprese | LZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding |
| Endiantita bajtů | Little-Endian bit-packing order |
| Barevné prostory | N/A (Data Compression Stream) |
| Kanály a struktura | Raw binary or text data stream |
| Max. rozměry | Unbounded stream length |
| Průhlednost | 100% bit-exact lossless data reproduction |
| Streamování a progresivní načítání | Block-based bitstream supports arbitrary continuous byte streaming |
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) | Žádný vestavěný v proudu | 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 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 ukazatelů mimo vyhrazenou paměť.
Známé vektory útoků
- Neúplné nebo nadměrně obsazené tabulky délky bitů 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:
Historický vývoj a milníky
Klíčové výhody a přednosti
- Nezpochybnitelný globální standard: implementovaný v hardwaru, operačních systémech a každém programovacím prostředí.
- Návrh bez patentů a licenčních poplatků zaručuje otevřený přístup v celém odvětví výpočetní techniky.
- 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ů s 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.
- Nezabalené proudy DEFLATE postrádají metadatské popisy nebo kontejnerové rámování bez obalů zlib nebo gzip.
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.
- Každý obrázek PNG na Zemi používá k dekompresi svých pixelových bloků IDAT algoritmus DEFLATE.
Č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.