Nyers DEFLATE (.deflate)

IETF Szabvány

A DEFLATE a számítástechnika történetének legelterjedtebb veszteségmentes adattömörítő algoritmusa, amely több mint három évtizede hajtja a ZIP-archívumokat, a GZIP-adatfolyamokat, a PNG-képeket és a HTTP-webtömörítést.

GZIP konvertálása erre: DEFLATE

Ingyenes, böngészőn belüli GZIP - DEFLATE konvertáló. Konvertáljon fájlokat azonnal az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) DEFLATE fájlokat:

Válasszon ki vagy ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) DEFLATE fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

78 9C / 78 01 / 78 DA

ASCII REPREZENTÁCIÓ: xœ / x. / xÚ

Szabványosítás: IETF RFC 1951 / RFC 1950 (zlib)

Műszaki specifikációk

Konténer architektúraRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
TömörítésLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
BájtsorrendLittle-Endian bit-packing order
SzínterekN/A (Data Compression Stream)
Csatornák és struktúraRaw binary or text data stream
Max. méretekUnbounded stream length
Átlátszóság100% bit-exact lossless data reproduction
Streaming és progresszívBlock-based bitstream supports arbitrary continuous byte streaming

Műszaki összehasonlító mátrix: DEFLATE vs Versenytársak

Technikai attribútumDEFLATE (Jelenlegi)GZBROTLIZSTD
SzabványosításIETF RFC 1951 (Nyers) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
CsúszóablakLegfeljebb 32 kilobájtLegfeljebb 32 kilobájtLegfeljebb 16 megabájtLegfeljebb 2 gigabájt
Ellenőrzőösszeg módAdler-32 (a zlib burkolóban)CRC-32 (a gzip burkolóban)Nincs beépített adatfolyamxxHash64 (64 bites gyors hash)
Mindennapi használatPNG képek, PDF adatfolyamok, ZIPUnix .tar.gz, HTTP gzipWebes betűtípusok (WOFF2), HTTP brLinux kernel, adatbázisok, játékok

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A kitömörítés sikertelen a „Z_DATA_ERROR: incorrect data check" hibaüzenettel.

Kiváltó ok: Eltérés a zlib-burkolatú adatfolyam végén található 4 bájtos Adler-32 ellenőrzőösszegben.

Helyreállítás: Kerülje meg az Adler-32 ellenőrzést a nyers kitömörítéssel (raw inflate), vagy javítsa ki a File2File Deflate helyreállítóval.

Biztonsági elemzés és elemző (parser) támadási vektorok

A DEFLATE elemzőknek szigorúan ellenőrizniük kell a Huffman-fa felépítési kódjait, hogy megakadályozzák a határokon túli mutatóírásokat.

Ismert támadási vektorok

  • Hiányos vagy túlírt dinamikus Huffman-fa bit-hosszúság táblák, amelyek érvénytelen memóriaolvasást okoznak.
  • Kitömörítási bomba (zip bomb), amely apró hasznos adatokat több száz gigabájtnyi RAM-má duzzaszt.
  • Puffertúlcsordulás érvénytelenítetlen csúszóablak távolságkódok esetén.

Védekező Legjobb Gyakorlatok:

Történeti háttér és mérföldkövek

1996Peter Deutsch formalizálja a DEFLATE-et IETF RFC 1951, a zlibet pedig RFC 1950 néven.
1995Jean-loup Gailly és Mark Adler kiadja a zlibet, a DEFLATE univerzális C nyelvű referenciakönyvtárát.
1991Phil Katz feltalálja a DEFLATE-et a PKZIP 2.0 számára, hogy felváltsa a régebbi Implode és Reduce algoritmusokat.

Főbb előnyök

  • A vitathatatlan globális szabvány: hardverekbe, operációs rendszerekbe és minden programozási futtatókörnyezetbe beépítve.
  • Szabadalom- és jogdíjmentes kialakítás, amely nyílt hozzáférést biztosít az egész számítástechnikai iparág számára.
  • Gyors kitömörítés minimális memóriahasználattal (csak 32 KB-os csúszóablak-memóriát igényel).

Technikai korlátok és hátrányok

  • A csúszóablak 32 KB-ra korlátozott, ami csökkenti a tömörítési hatékonyságot a távoli redundanciát tartalmazó nagy fájlok esetén.
  • Alacsonyabb tömörítési arány a modern webes erőforrásoknál az újabb algoritmusokhoz, például a Brotlihoz és a Zstandardhoz képest.
  • A nyers DEFLATE adatfolyamok zlib- vagy gzip-burkolók nélkül hiányolják az önleíró metaadatokat vagy tárolókeretezést.

Érdekes technikai tudnivalók

  • Phil Katz azután találta fel a DEFLATE-et, hogy a Unisys perbe fogta a korai PKARC segédprogramokban használt szabadalmaztatott LZW algoritmus miatt.
  • A szabványos zlib fejlécbájtok közül a „78 9C" az alapértelmezett tömörítést, a „78 01" az alacsony tömörítést, a „78 DA" pedig a maximális tömörítést jelöli.
  • A Föld minden egyes PNG-képe a DEFLATE-et használja az IDAT képpontdarabjainak tömörítésére.

Gyakran Ismételt Műszaki Kérdések

Mi a különbség a DEFLATE, a zlib és a gzip között?

A DEFLATE a nyers tömörítési algoritmus (RFC 1951). A Zlib egy 2 bájtos fejléccel és Adler-32 ellenőrzőösszeggel látja el a DEFLATE-et (RFC 1950). A Gzip fájlmetaadatokkal és CRC-32 ellenőrzőösszeggel csomagolja be a DEFLATE-et (RFC 1952).

Miért használja a PNG a DEFLATE-et?

A PNG formátumot 1995-ben hozták létre a GIF felváltására, szabadalmaztatott LZW algoritmusok nélkül, és a tömörítéshez a nyílt, jogdíjmentes DEFLATE-et választották.

Hogyan tömöríthetek ki egy nyers .deflate fájlt?

A nyers DEFLATE vagy zlib bájtdatainkat eredeti, tömörítetlen fájlokká alakíthatja közvetlenül a webböngészőjében a File2File.app segítségével.