DEFLATE Brut (.deflate)
IETF StandardDEFLATE este cel mai răspândit algoritm de compresie a datelor fără pierderi din istoria informaticii, care stă la baza arhivelor ZIP, fluxurilor GZIP, imaginilor PNG și compresiei web HTTP de peste trei decenii.
Convertește din GZIP în DEFLATE
Convertor gratuit din GZIP în DEFLATE direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectează și Metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele DEFLATE prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele DEFLATE prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
78 9C / 78 01 / 78 DAREPREZENTARE ASCII: xœ / x. / xÚ
Standardizare: IETF RFC 1951 / RFC 1950 (zlib)
Specificații tehnice
| Arhitectură container | Raw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum |
| Compresie | LZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding |
| Endianitatea octeților | Little-Endian bit-packing order |
| Spații de culoare | N/A (Data Compression Stream) |
| Canale și structură | Raw binary or text data stream |
| Dimensiuni maxime | Unbounded stream length |
| Transparență | 100% bit-exact lossless data reproduction |
| Streaming și progresiv | Block-based bitstream supports arbitrary continuous byte streaming |
Matrice de comparație tehnică: DEFLATE vs Competitori
| Atribut tehnic | DEFLATE (Curent) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardizare | IETF RFC 1951 (Brut) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Fereastră glisantă | Maximum 32 Kiloocteți | Maximum 32 Kiloocteți | Până la 16 Megaocteți | Până la 2 Gigaocteți |
| Mod sumă de control | Adler-32 (în containerul zlib) | CRC-32 (în containerul gzip) | Niciunul încorporat în flux | xxHash64 (hash rapid pe 64 de biți) |
| Utilizare zilnică | Imagini PNG, fluxuri PDF, ZIP | Unix .tar.gz, HTTP gzip | Fonturi web (WOFF2), HTTP br | Nucleu Linux, baze de date, jocuri |
Moduri comune de corupție și ghid de recuperare hexazecimală
Decompresia eșuează cu mesajul „Z_DATA_ERROR: incorrect data check".
Cauză principală: Neconcordanță în suma de control Adler-32 de 4 octeți de la sfârșitul fluxului încapsulat în zlib.
Recuperare: Ocoliți verificarea Adler-32 folosind un inflate brut sau reparați cu File2File Deflate Recovery.
Analiză de securitate și vectori de atac asupra parserului
Analizoarele DEFLATE trebuie să valideze strict codurile de construcție a arborelui Huffman pentru a preveni scrierile cu pointeri în afara limitelor.
Vectori de atac cunoscuți
- Tabele de lungime de biți pentru arborele Huffman dinamic incomplete sau supraabbonate, care cauzează citiri invalide de memorie.
- Bombă de decompresie (zip bomb) care extinde sarcini utile mici în sute de gigaocteți de RAM.
- Citire excesivă în buffer (buffer over-read) în codurile de distanță ale ferestrei glisante nevalidate.
Cele mai bune practici de securitate:
Origini istorice și repere
Avantaje cheie și beneficii
- Standardul global incontestabil: implementat în hardware, sisteme de operare și în fiecare mediu de execuție de programare.
- Design fără brevete și fără redevențe, care garantează accesul deschis în întreaga industrie IT.
- Decompresie rapidă cu amprentă minimă de memorie (necesită doar o memorie cu fereastră glisantă de 32 KB).
Limitări tehnice și dezavantaje
- Fereastra glisantă este limitată la 32 KB, ceea ce reduce eficacitatea compresiei pe fișiere mari cu redundanțe îndepărtate.
- Rate de compresie mai scăzute pe activele web moderne în comparație cu algoritmii mai noi, precum Brotli și Zstandard.
- Fluxurile DEFLATE brute nu au metadate auto-descriptive sau încapsulare în containere fără containere zlib sau gzip.
Curiozități tehnice interesante
- Phil Katz a inventat DEFLATE după ce a fost dat în judecată de Unisys din cauza algoritmului patentat LZW utilizat în utilitarele PKARC timpurii.
- Octeții standard ai antetului zlib „78 9C" indică compresia implicită, „78 01" compresia redusă, iar „78 DA" compresia maximă.
- Fiecare imagine PNG de pe Pământ utilizează DEFLATE pentru a-și comprima blocurile de pixeli IDAT.
Întrebări tehnice frecvente
Care este diferența dintre DEFLATE, zlib și gzip?
DEFLATE este algoritmul de compresie brut (RFC 1951). Zlib încapsulează DEFLATE cu un antet de 2 octeți și o sumă de control Adler-32 (RFC 1950). Gzip încapsulează DEFLATE cu metadate ale fișierului și o sumă de control CRC-32 (RFC 1952).
De ce folosește PNG algoritmul DEFLATE?
Formatul PNG a fost creat în 1995 pentru a înlocui GIF fără a utiliza algoritmi LZW brevetați, alegând pentru compresie algoritmul open-source și lipsit de redevențe DEFLATE.
Cum pot dezarhiva un fișier brut .deflate?
Puteți dezarhiva fluxuri de octeți DEFLATE sau zlib brute în fișierele originale necomprimate folosind File2File.app, direct în browserul web.
Perechi de conversie DEFLATE conexe
Conversia unui flux GZIP în DEFLATE brut elimină containerul exterior al fișierului și metadatele antetului, lăsând doar conținutul comprimat pentru protocoale de rețea specializate și arhive de nivel inferior.
Conversia unui flux DEFLATE Brut în Flux GZIP împachetează sarcina utilă comprimată într-un container standard cu anteturi de metadate, astfel încât sistemele de operare și instrumentele web să o poată citi corect.