Sirovi DEFLATE (.deflate)

IETF Standardno

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

Изаберите или превуците датотеке овде

100% приватна конверзија у прегледачу – датотеке никада не напуштају ваш уређај

или налепите Ctrl+V
100% Локална обрада у прегледачу 0 бајтова послато спољним серверима. Сва обрада је извршена локално у безбедном окружењу вашег прегледача.

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 DA

ASCII REPREZENTACIJA: xœ / x. / xÚ

Standardizacija: IETF RFC 1951 / RFC 1950 (zlib)

Tehničke specifikacije

Arhitektura kontejneraRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
KompresijaLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
Bajtni redosled (Endianness)Little-Endian bit-packing order
Prostori bojaN/A (Data Compression Stream)
Kanali i strukturaRaw binary or text data stream
Maksimalne dimenzijeUnbounded stream length
Transparentnost100% bit-exact lossless data reproduction
Strimovanje i progresivno učitavanjeBlock-based bitstream supports arbitrary continuous byte streaming

Tehnička matrica poređenja: DEFLATE vs Konkurenti

Tehnički atributDEFLATE (Trenutno)GZBROTLIZSTD
StandardizacijaIETF RFC 1951 (Sirovi) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Klizni prozorNajviše 32 kilobajtaNajviše 32 kilobajtaDo 16 megabajtaDo 2 gigabajta
Režim kontrolne sumeAdler-32 (u zlib omotaču)CRC-32 (u gzip omotaču)Nema ugrađen strimxxHash64 (64-bitni brzi heš)
Svakodnevna upotrebaPNG slike, PDF strimovi, ZIPUnix .tar.gz, HTTP gzipVeb fontovi (WOFF2), HTTP brLinux 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

1996Piter Dojč (Peter Deutsch) formalizuje DEFLATE kao IETF RFC 1951, a zlib kao RFC 1950.
1995Žan-Lup Gejzi (Jean-loup Gailly) i Mark Adler izdaju zlib, univerzalnu C referentnu biblioteku za DEFLATE.
1991Fil Kac (Phil Katz) izmišlja DEFLATE za PKZIP 2.0 kao zamenu za starije algoritme Implode i Reduce.

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.