Pretvarač GZIP streama u sirovi DEFLATE

Pretvaranje GZIP streama u sirovi DEFLATE uklanja vanjski omot datoteke i metapodatke zaglavlja, ostavljajući samo komprimirani sadržaj za specijalizirane mrežne protokole i niske razine arhiva.

Odaberite ili povucite datoteke

Odaberite ili ispustite datoteke ovdje

100% privatna pretvorba u pregledniku - datoteke nikada ne napuštaju vaš uređaj

ili zalijepi Ctrl+V
Jamstvo privatnosti nulte mrežne transmisije: 0 bajtova učitano na vanjske poslužitelje. Sva obrada odvijala se lokalno u sandčiću vašeg preglednika.

Usporedba formata i tehničke specifikacije

SpecifikacijaGZIPDEFLATE
MIME vrstaapplication/gzipapplication/zlib
VrstaDEFLATE stream containerraw DEFLATE stream
KompresijaDEFLATE (RFC 1951)LZ77 + Huffman coding
Standardna specifikacijaIETF RFC 1952IETF RFC 1950 / RFC 1951
Zaglavlje čarobnih bajtova (Magic Bytes)1F 8B (gzip ID1/ID2)78 01 / 78 9C / 78 DA (zlib header bytes)

Pregled formata i primjena

Pretvaranje GZIP streama u sirovi DEFLATE često se događa u računalnom razvoju, mrežnom programiranju i tijekovima rada pohrane podataka na nižoj razini. Programeri se često bave GZIP-om prilikom spremanja pojedinačnih datoteka na disk jer format uključuje korisne metapodatke poput izvornih naziva datoteka i vremenskih oznaka izmjene. Međutim, moderni HTTP protokoli kompresije i specifični binarni formati očekuju samo komprimirani sadržaj bez ikakvih bajtova omota. Izvođenje ove pretvorbe omogućuje inženjerima da unose standardne komprimirane podatke izravno u mrežne tokove ili prilagođene analizatore. Na primjer, izgradnja prilagođenog rukovatelja HTTP odgovorima ili rad s ZIP arhivama često zahtijeva uklanjanje GZIP zaglavlja i CRC32 podnožja kako bi se izolirao sirovi izlaz algoritma. Uklanjanje ovih dodatnih podataka o spremniku smanjuje opterećenje kada je svaki pojedini bajt važan u ograničenim programskim okruženjima.

Tehničke specifikacije i pregled kodeka

GZIP stream identificiran s MIME tipom application/gzip koristi strukturu spremnika definiranu u RFC 1952. Počinje zaglavljem magičnog broja od dva bajta (0x1F, 0x8B), nakon čega slijede zastavice kompresije, vrijeme izmjene, ID operativnog sustava i opcionalni naziv datoteke. Stvarni komprimirani podaci nalaze se u sredini, a datoteka završava četverobajtno CRC32 kontrolnim zbrojem i četverobajtnim pokazateljem nekomprimirane veličine. Suprotno tome, sirovi DEFLATE identificiran s application/zlib ili sirovim streamovima oslanja se na RFC 1951. Ne sadrži magične bajtove, zaglavlja ni podnožja. Koristi LZ77 algoritam u kombinaciji s Huffmanovim kodiranjem za izravnu pohranu komprimiranih blokova. Pretvorba između njih u potpunosti je bez gubitaka, budući da oba formata koriste potpuno isti motor za kompresiju DEFLATE. Proces pretvorbe jednostavno odmotava GZIP omot, odbacuje metapodatke i ekstrahira unutarnji DEFLATE bajt stream.

Kompatibilnost s OS-om i preglednikom

Sirovi DEFLATE streamovi rade izvorno na modernim operativnim sustavima i radnim okruženjima putem standardnih programskih jezika kao što su Python, Node.js i C++. Preglednici upravljaju DEFLATE-om izvorno putem stoga zaglavlja HTTP kodiranja sadržaja. Operativni sustavi poput Windowsa, macOS-a i Linuxa podržavaju sirove streamove putem sustavskih biblioteka za kompresiju kao što je zlib. Mobilne platforme uključujući Android i iOS pružaju izravan API pristup rutinama DEFLATE za prilagođene slojeve pohrane aplikacija.

💡 Korisne informacije

Uvijek provjerite očekuje li vaš ciljni analizator čisti RFC 1951 stream umjesto streama omotanog u zlib, jer zlib dodaje dvobajtno zaglavlje koje će analizatori sirovog DEFLATE-a odbiti.

Usporedba formata i tehničke specifikacije

Tekstualna datoteka veličine 10 megabajta komprimirana u GZIP stream smanjuje se na otprilike 2 megabajta. Uklanjanjem zaglavlja i podnožja radi stvaranja sirove DEFLATE datoteke dobiva se identična veličina sadržaja od 2 megabajta. Prijenos ove datoteke od 2 megabajta traje oko 0,04 sekunde na optičkoj vezi od 500 Mbps, otprilike 0,4 sekunde na standardnoj 5G mreži i oko 4 sekunde na preopterećenoj 4G mobilnoj vezi.

Često postavljana pitanja

Kako pretvoriti GZIP stream u sirovi DEFLATE bez gubitka kvalitete?

Oba formata koriste identične algoritme kompresije bez gubitaka. Njihovo pretvaranje jednostavno znači čitanje GZIP spremnika, uklanjanje zaglavlja od deset bajtova i podnožja od osam bajtova te spremanje unutarnjih komprimiranih blokova. Nijedan podatak nije izgubljen jer temeljni algoritam ostaje nepromijenjen.

Koja je razlika između GZIP streama i sirovog DEFLATE-a?

GZIP je potpuni spremnik datoteke koji uključuje zaglavlje magičnog bajta, izvorne nazive datoteka, vremenske oznake izmjene i podnožje kontrolnog zbroja. Sirovi DEFLATE je samo komprimirani podatak, koji ne sadrži zaglavlja, podnožja ni metapodatke datoteke.