Sirovi DEFLATE (.deflate)
IETF StandardnoDEFLATE je najzastupljeniji algoritam za kompresiju podataka bez gubitaka u istoriji računarstva, koji pokreće ZIP arhive, GZIP strimove, PNG slike i HTTP veb kompresiju više od tri decenije.
Конвертујте GZIP у DEFLATE
Бесплатан GZIP у DEFLATE конвертор у прегледачу. Конвертујте фајлове тренутно без слања на сервер уз 100% приватност.
Pregledaj i metapodaci
Operativni sistemi i analizatori datoteka identifikuju DEFLATE datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (Magic Bytes)
Operativni sistemi i analizatori datoteka identifikuju DEFLATE datoteke proverom početnog binarnog niza bajtova:
HEX POTPIS (OFFSET 0):
78 9C / 78 01 / 78 DAASCII REPREZENTACIJA: xœ / x. / xÚ
Standardizacija: IETF RFC 1951 / RFC 1950 (zlib)
Tehničke specifikacije
| Arhitektura kontejnera | Raw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum |
| Kompresija | LZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding |
| Bajtni redosled (Endianness) | Little-Endian bit-packing order |
| Prostori boja | N/A (Data Compression Stream) |
| Kanali i struktura | Raw binary or text data stream |
| Maksimalne dimenzije | Unbounded stream length |
| Transparentnost | 100% bit-exact lossless data reproduction |
| Strimovanje i progresivno učitavanje | Block-based bitstream supports arbitrary continuous byte streaming |
Tehnička matrica poređenja: DEFLATE vs Konkurenti
| Tehnički atribut | DEFLATE (Trenutno) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardizacija | IETF RFC 1951 (Sirovi) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Klizni prozor | Najviše 32 kilobajta | Najviše 32 kilobajta | Do 16 megabajta | Do 2 gigabajta |
| Režim kontrolne sume | Adler-32 (u zlib omotaču) | CRC-32 (u gzip omotaču) | Nema ugrađen strim | xxHash64 (64-bitni brzi heš) |
| Svakodnevna upotreba | PNG slike, PDF strimovi, ZIP | Unix .tar.gz, HTTP gzip | Veb fontovi (WOFF2), HTTP br | Linux kernel, baze podataka, igračka industrija |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Dekompresija ne uspeva uz poruku 'Z_DATA_ERROR: incorrect data check'.
Osnovni uzrok: Nepodudaranje u 4-bajtnoj Adler-32 kontrolnoj sumi na kraju strima u zlib omotaču.
Oporavak: Zaobiđite Adler-32 verifikaciju pomoću sirovog inflate-a ili popravite pomoću File2File Deflate oporavka.
Bezbednosna analiza i vektori napada parsera
DEFLATE paseri moraju strogo da verifikuju kodove za izgradnju Hafmanovog stabla kako bi sprečili upise pokazivača van granica memorije.
Poznati vektori napada
- Nep potpune ili prebukirane tabele dužine bita dinamičkog Hafmanovog stabla koje uzrokuju nevažeća čitanja iz memorije.
- Bomba dekompresije (zip bomba) koja širi male nosive podatke u stotine gigabajta RAM-a.
- Prekoračenje čitanja bafera (buffer over-read) u nevalidiranim kodovima rastojanja kliznog prozora.
Defanzivne najbolje prakse:
Istorijat i prekretnice
Ključne prednosti
- Neprikosnoveni globalni standard: implementiran u hardveru, operativnim sistemima i svakom programskom okruženju.
- Dizajn oslobođen patenata i autorskih naknada garantuje otvoren pristup širom cele računarske industrije.
- Brza dekompresija sa minimalnom memorijskom otiskom (zahteva samo 32 KB memorije kliznog prozora).
Tehnička ograničenja i nedostaci
- Klizni prozor ograničen na 32 KB, što smanjuje efikasnost kompresije na velikim datotekama sa udaljenim ponavljanjima.
- Niži odnosi kompresije na modernim veb resursima u poređenju sa novijim algoritmima kao što su Brotli i Zstandard.
- Sirovi DEFLATE strimovi nemaju meta-podatke koji sami sebe opisuju niti kontejnerska okruženja bez zlib ili gzip omotača.
Zanimljivosti
- Fil Kac je izmnožio DEFLATE nakon što ga je Unisys tužio zbog patentiranog LZW algoritma koji se koristio u ranim PKARC uslužnim programima.
- Standardni zlib zaglavni bajtovi '78 9C' označavaju podrazumevanu kompresiju, '78 01' nisku kompresiju, a '78 DA' maksimalnu kompresiju.
- Svaka PNG slika na Zemlji koristi DEFLATE za kompresiju svojih IDAT blokova piksela.
Često postavljana tehnička pitanja
Koja je razlika između DEFLATE, zlib i gzip formata?
DEFLATE je sirovi algoritam kompresije (RFC 1951). Zlib obavija DEFLATE zaglavljem od 2 bajta i Adler-32 kontrolnim zbirom (RFC 1950). Gzip obavija DEFLATE metapodacima datoteke i CRC-32 kontrolnim zbirom (RFC 1952).
Zašto PNG koristi DEFLATE?
PNG format je kreiran 1995. godine da bi zamenio GIF bez korišćenja patentiranih LZW algoritama, birajući otvoreni DEFLATE bez autorskih nadoknada za kompresiju.
Kako mogu da dekompresujem sirovu .deflate datoteku?
Možete dekompresovati sirove DEFLATE ili zlib tokove bajtova u originalne nekompresovane datoteke koristeći File2File.app direktno u Vašem veb pretraživaču.
Povezani parovi konverzije za DEFLATE
Konverzija GZIP toka u sirovi DEFLATE uklanja spoljni omotač datoteke i metapodatke zaglavlja, ostavljajući samo kompresovani sadržaj za specijalizovane mrežne protokole i arhive niskog nivoa.
Konvertovanje sirovog DEFLATE toka u GZIP tok pakuje kompresovani sadržaj unutar standardnog kontejnera sa zaglavljima metapodataka kako bi operativni sistemi i web alati mogli pravilno da ga pročitaju.