DEFLATE Brut (.deflate)

IETF Standard

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

Selectează sau plasează fișierele aici

Conversie 100% privată în browser - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate cu zero transmisie în rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

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 DA

REPREZENTARE ASCII: xœ / x. / xÚ

Standardizare: IETF RFC 1951 / RFC 1950 (zlib)

Specificații tehnice

Arhitectură containerRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
CompresieLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
Endianitatea octețilorLittle-Endian bit-packing order
Spații de culoareN/A (Data Compression Stream)
Canale și structurăRaw binary or text data stream
Dimensiuni maximeUnbounded stream length
Transparență100% bit-exact lossless data reproduction
Streaming și progresivBlock-based bitstream supports arbitrary continuous byte streaming

Matrice de comparație tehnică: DEFLATE vs Competitori

Atribut tehnicDEFLATE (Curent)GZBROTLIZSTD
StandardizareIETF RFC 1951 (Brut) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Fereastră glisantăMaximum 32 KilooctețiMaximum 32 KilooctețiPână la 16 MegaoctețiPână la 2 Gigaocteți
Mod sumă de controlAdler-32 (în containerul zlib)CRC-32 (în containerul gzip)Niciunul încorporat în fluxxxHash64 (hash rapid pe 64 de biți)
Utilizare zilnicăImagini PNG, fluxuri PDF, ZIPUnix .tar.gz, HTTP gzipFonturi web (WOFF2), HTTP brNucleu 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

1996Peter Deutsch oficializează DEFLATE ca IETF RFC 1951 și zlib ca RFC 1950.
1995Jean-loup Gailly și Mark Adler lansează zlib, biblioteca C de referință universală pentru DEFLATE.
1991Phil Katz inventează DEFLATE pentru PKZIP 2.0 pentru a înlocui algoritmii mai vechi Implode și Reduce.

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.