DEFLATE brut (.deflate)

IETF Standard

DEFLATE este utilizat pe scară largă algoritm de compresie a datelor fără pierderi din istoria informaticii și 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.

Inspectare ș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

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin 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 (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele DEFLATE prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

DEFLATE brut nu are o semnătură fixă

REPREZENTARE ASCII: Fără semnătură fixă

Standardizare: IETF RFC 1951 / RFC 1950 (zlib)

Specificații tehnice

Arhitectură containerFlux de biți RFC 1951 brut sau flux zlib RFC 1950 cu înveliș, antet pe 2 octeți și sumă de control Adler-32
CompresieDicționar LZ77 cu fereastră glisantă (fereastră de până la 32 KB), împreună cu codare entropică Huffman dinamică sau statică
Ordinea octețilorOrdine Little-Endian de împachetare a biților
Spații de culoareNu se aplică (flux de compresie a datelor)
Canale și structurăFlux de date binare sau text
Dimensiuni maximeLungime nelimitată a fluxului
TransparențăReproducere fără pierderi a datelor, identică la nivel de biți
Streaming și progresivFluxul de biți bazat pe blocuri acceptă transmiterea continuă a octeților, fără limită

Matrice de comparație tehnică: DEFLATE vs. concurenți

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 formatul zlib)CRC-32 (în formatul 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: Ocolește verificarea Adler-32 folosind decomprimarea raw inflate sau repară fluxul cu File2File.app 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 supraabonate, 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: Impune limite pentru alocarea maximă de memorie și pentru rata de extindere în timpul decomprimării.

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.
1991Phil Katz inventează DEFLATE pentru PKZIP 2.0 pentru a înlocui algoritmii mai vechi Implode și Reduce.

Avantaje cheie și beneficii

  • DEFLATE este implementat pe scară largă în biblioteci software și formate de fișiere, deși suportul disponibil depinde de mediul de execuție și de aplicație.
  • Specificația DEFLATE poate fi implementată liber; licențierea și suportul depind de implementarea software concretă.
  • 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 conțin metadate descriptive sau delimitare de container fără învelișurile zlib ori 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ă.
  • Formatul PNG folosește DEFLATE pentru fluxul de date al imaginii, conform specificației PNG.

Î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 DEFLATE, cu sursă deschisă și fără redevențe.

Cum pot dezarhiva un fișier brut .deflate?

Poți decomprima fluxuri de octeți DEFLATE sau zlib brute în fișierele originale, necomprimate, cu File2File.app direct în browser.