Deflate konvertálása GZIP formátumba

A nyers DEFLATE GZIP adatfolyammá konvertálása metaadat-fejlécekkel ellátott szabványos tárolóba csomagolja a tömörített adatcsomagot, így az operációs rendszerek és a webes eszközök megfelelően tudják olvasni.

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V

Amíg a fájljaidra vársz, játszhatsz a Code Rainnel

Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Formátum-összehasonlítás és műszaki specifikációk

SpecifikációDEFLATEGZIP
MIME-típusapplication/zlibapplication/gzip
Típusnyers DEFLATE-adatfolyamDEFLATE-adatfolyam-tároló
TömörítésLZ77 + Huffman-kódolásDEFLATE (RFC 1951)
Szabványos specifikációIETF RFC 1950 / RFC 1951IETF RFC 1952
Fájlfejléc azonosító bájtjai78 01 / 78 9C / 78 DA (zlib header bytes)1F 8B (gzip ID1/ID2)

A formátum áttekintése és alkalmazási területei

A nyers DEFLATE adatfolyamok tömörített bájtokat tartalmaznak fájlfejlécek vagy záró ellenőrzőösszegek nélkül. A webböngészők és a hálózati eszközök gyakran küzdenek ezen csupasz adatfolyamok feldolgozásával, mivel hiányoznak belőlük az olyan metaadatok, mint az eredeti fájlnevek, a módosítási időbélyegzők vagy az operációs rendszer azonosítói. Ezen nyers adatok GZIP-tárolóba csomagolása megoldja ezeket a kompatibilitási problémákat. A fejlesztők olyan hálózati protokollokon belül találkoznak nyers DEFLATE adatfolyamokkal, mint a HTTP-tömörítés, a PNG képdarabok és a ZIP archívumok. Amikor ezeket az adatfolyamokat önálló fájlként kell menteni a parancssori eszközök vagy a szabványos webes letöltések számára, a mérnökök GZIP formátumra alakítják át őket. Ez biztosítja, hogy a kitömörítő segédprogramok azonnal felismerjék a fájltípust, és hibaüzenetek nélkül kibontsák a tartalmat.

Műszaki specifikációk és kodekáttekintés

A nyers DEFLATE (RFC 1951 vagy nyers adatfolyam) az LZ77 csúszó szótár-illesztés és a Huffman-kódolás kombinációját használja a bájtsorozatok keretezési fejlécek nélküli tömörítésére. A GZIP tároló (application/gzip) veszi ezt a pontos DEFLATE hasznos adatot, és egy szigorú, 10 bájtos fejléccel csomagolja be, amely egy kétbájtos varázsszám-aláírást (0x1F, 0x8B), tömörítési módszer jelölőket, módosítási időt és egy operációs rendszer azonosítót tartalmaz. A GZIP szerkezet egy 8 bájtos utótagot is hozzáfűz, amely egy CRC32 ellenőrzőösszeget tartalmaz az adatintegritás ellenőrzéséhez, valamint a tömörítetlen fájl méretét modulo 2 a 32.-en. Az application/zlib MIME-típus az RFC 1950 szerinti zlib-burkolót jelöli a DEFLATE körül, nem nyers DEFLATE-adatfolyamot.

Operációs rendszer- és böngésző-kompatibilitás

A GZIP adatfolyamok kompatibilisek az összes modern operációs rendszerrel, köztük a Linuxszal, a macOS-szel és a Windowsszal. Az olyan parancssori eszközök, mint a gzip, a gunzip és a 7-Zip, natívan olvassák a GZIP fájlokat. A webböngészők automatikusan kezelik a GZIP kitömörítését, amikor HTTP-válaszokat kapnak a szerverektől, bár a nyers DEFLATE gyakran egyéni elemző logikát igényel a JavaScript-környezetekben vagy a WebAssembly modulokban. A támogatás az alkalmazástól, az eszköztől, az operációs rendszertől és annak verziójától is függ.

Hasznos információk

Mindig ellenőrizze, hogy a kitömörítő eszköz helyesen olvassa-e a GZIP záró részét, mert a sérült CRC32-ellenőrzőösszeg miatt a kicsomagolás leállhat akkor is, ha a DEFLATE hasznos adata sértetlen.

Gyakran ismételt kérdések

Hogyan lehet a nyers DEFLATE-et GZIP adatfolyammá átalakítani minőségromlás nélkül?

Mindkét formátum pontosan ugyanazon a DEFLATE-algoritmuson alapuló, veszteségmentes tömörítést használ. A köztük végzett átalakítás során egyszerűen tárolófejlécek és ellenőrző összegek kerülnek a meglévő tömörített bájtok köré, így a csomagolási folyamat során nem történik adatvesztés.

Mi a különbség a nyers DEFLATE és a GZIP adatfolyam között?

A nyers DEFLATE csak a tömörített hasznos adatot tartalmazza azonosító fejlécek vagy záró részek nélkül. A GZIP adatfolyam egy szabványosított fájltároló, amely egy 10 bájtos fejléccel és egy 8 bájtos záró ellenőrzőösszeggel egészíti ki a nyers DEFLATE adatokat a metaadatok nyomon követése és a hibafelismerés érdekében.