GZIP straumes konvertors uz neapstrādātu DEFLATE

GZIP straumes konvertēšana uz neapstrādātu DEFLATE noņem ārējo faila ietvaru un galvenes metadatus, atstājot tikai saspiesto datu kopu specializētiem tīkla protokoliem un zema līmeņa arhīviem.

Atlasiet vai velciet failus

Atlasiet vai velciet failus šeit

100% privāta konvertēšana pārlūkprogrammā - faili nekad neatstāj jūsu ierīci

vai ielīmējiet Ctrl+V
Privātuma garantija bez datu pārraides tīklā: 0 baitu augšupielādēti ārējos serveros. Visa apstrāde notika lokāli jūsu pārlūkprogrammas smilškastē.

Formātu salīdzinājums un tehniskās specifikācijas

SpecifikācijaGZIPDEFLATE
MIME tipsapplication/gzipapplication/zlib
TipsDEFLATE stream containerraw DEFLATE stream
KompresijaDEFLATE (RFC 1951)LZ77 + Huffman coding
Standarta specifikācijaIETF RFC 1952IETF RFC 1950 / RFC 1951
Maģisko baitu galvene1F 8B (gzip ID1/ID2)78 01 / 78 9C / 78 DA (zlib header bytes)

Formāta pārskats un lietojums

GZIP straumes konvertēšana neapstrādātā DEFLATE notiek bieži tīmekļa izstrādē, tīkla programmēšanā un zema līmeņa datu glabāšanas darbplūsmatos. Izstrādātāji bieži strādā ar GZIP, kad saglabā atsevišķus failus diskā, jo formāts ietver noderīgus metadatus, piemēram, oriģinālos failu nosaukumus un modifikācijas laika zīmogus. Tomēr mūsdienu HTTP saspiešanas protokoli un noteikti binārie formāti sagaida tikai saspiesto datu kopu bez jebkādiem ietvara baitiem. Šīs konversijas veikšana ļauj inženieriem tieši padot standarta saspiestos datus tīkla straumēs vai pielāgotos parsētājos. Piemēram, pielāgotas HTTP atbildes apstrādes programmas izveide vai darbs ar ZIP arhīviem bieži prasa GZIP galvenes un CRC32 kājenes noņemšanu, lai izolētu neapstrādāto algoritma izvadi. Šo papildu konteinera datu noņemšana samazina pieskaitāmās izmaksas, kad katrs nepieciešamais baits ir svarīgs ierobežotās programmēšanas vidēs.

Tehniskās specifikācijas un kodeku sadalījums

GZIP straume, kas identificēta ar MIME tipu application/gzip, izmanto konteinera struktūru, kas definēta RFC 1952. Tā sākas ar divu baitu maģiskā numura galveni (0x1F, 0x8B), kam seko saspiešanas karodziņi, modifikācijas laiks, operētājsistēmas ID un neobligāts faila nosaukums. Faktiskie saspiestie dati atrodas vidū, un fails beidzas ar četru baitu CRC32 kontrolsummu un četru baitu nesaspiestā izmēra rādītāju. Turpretī neapstrādāts DEFLATE, ko identificē application/zlib vai neapstrādātas straumes, balstās uz RFC 1951. Tas nesatur maģiskos baitus, galvenes un kājenes. Tas izmanto LZ77 algoritmu apvienojumā ar Hafmana kodējumu, lai tieši saglabātu saspiestos blokus. Konvertēšana starp tiem ir pilnībā bezzaudējumu, jo abi formāti izmanto precīzi to pašu DEFLATE saspiešanas dzinēju. Konversijas procesā GZIP ietvars vienkārši tiek iztints, metadati tiek atmesti, un tiek iegūta iekšējā DEFLATE baitu straume.

OS un pārlūkprogrammu saderība

Neapstrādātas DEFLATE straumes darbojas vietējā līmenī visās modernajās operētājsistēmās un tīmekļa izpildlaikos, izmantojot standarta programmēšanas valodas, piemēram, Python, Node.js un C++. Pārlūkprogrammas apstrādā DEFLATE vietējā līmenī, izmantojot HTTP satura kodējuma galvenes steku. Operētājsistēmas, piemēram, Windows, macOS un Linux, atbalsta neapstrādātas straumes, izmantojot sistēmas saspiešanas bibliotēkas, piemēram, zlib. Mobilās platformas, tostarp Android un iOS, nodrošina tiešu API piekļuvi DEFLATE rutīnām pielāgotiem lietotņu krātuves slāņiem.

💡 Noderīga informācija

Vienmēr pārbaudiet, vai jūsu mērķa parsētājs sagaida tīru RFC 1951 straumi, nevis zlib ietvertu straumi, jo zlib pievieno divu baitu galveni, kuru neapstrādātie DEFLATE parsētāji noraidīs.

Formātu salīdzinājums un tehniskās specifikācijas

10 megabaitu teksta fails, kas saspiests GZIP straumē, sarūk līdz aptuveni 2 megabaitiem. Galvenes un kājenes noņemšana, lai izveidotu neapstrādātu DEFLATE failu, dod identisku 2 megabaitu datu kopas izmēru. Šī 2 megabaitu faila pārsūtīšana aizņem aptuveni 0,04 sekundes 500 Mbps optiskā tīkla savienojumā, aptuveni 0,4 sekundes standarta 5G tīklā un apmēram 4 sekundes pārslogotā 4G mobilajā saitē.

Biežāk uzdotie jautājumi

Kā konvertēt GZIP straumi uz neapstrādātu DEFLATE bez kvalitātes zuduma?

Abi formāti izmanto identiskus bezzaudējumu saspiešanas algoritmus. To konvertēšana vienkārši nozīmē GZIP konteinera nolasīšanu, desmit baitu galvenes un astoņu baitu kājenes noņemšanu un iekšējo saspiesto bloku saglabāšanu. Dati netiek zaudēti, jo pamatā esošais algoritms paliek nemainīgs.

Kāda ir atšķirība starp GZIP straumi un neapstrādātu DEFLATE?

GZIP ir pilnīgs faila konteiners, kas ietver maģiskā baitu galveni, oriģinālos failu nosaukumus, modifikācijas laika zīmogus un kontrolsummas kājeni. Neapstrādāts DEFLATE ir tikai paši saspiestie dati, kas nesatur galvenes, kājenes vai faila metadatus.