Raaka DEFLATE (.deflate)
IETF StandardiDEFLATE on tietojenkäsittelyhistorian laajasti käytetty häviötön tietojen pakkausalgoritmi, joka on pyörittänyt ZIP-arkistoja, GZIP-virtoja, PNG-kuvia ja HTTP-verkkopakkausta yli kolmen vuosikymmenen ajan.
Muunna tiedostot muodosta GZIP muotoon DEFLATE
Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta GZIP muotoon DEFLATE. Muunna tiedostot hetkessä laitteellasi.
Tarkastele tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat DEFLATE-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat DEFLATE-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
Raw DEFLATE -virralla ei ole kiinteää tunnistettaASCII-ESITYSTAPA: Ei kiinteää tunnistetta
Standardointi: IETF RFC 1951 / RFC 1950 (zlib)
Tekniset tiedot
| Säiliöarkkitehtuuri | Raaka RFC 1951 -bittivirta tai RFC 1950 -standardin mukainen zlib-virta, jossa on 2-tavuinen otsake ja Adler-32-tarkistussumma |
| Pakkaus | LZ77-liukusanakirja (enintään 32 kt:n ikkuna) sekä dynaaminen tai staattinen Huffman-entropiakoodaus |
| Tavujärjestys (Endianness) | Little-Endian-bittien pakkausjärjestys |
| Väriavaruudet | Ei sovellu (datan pakkausvirta) |
| Kanavat ja rakenne | Raakabinaari- tai tekstidatavirta |
| Suurimmat mitat | Rajoittamaton virran pituus |
| Läpinäkyvyys | Häviötön ja tavu tarkkuudella identtinen datan palautus |
| Suoratoisto ja progressiivinen lataus | Lohkopohjainen bittivirta tukee jatkuvaa, mielivaltaisen pituista tavujen suoratoistoa |
Tekninen vertailumatriisi: DEFLATE vs. kilpailijat
| Tekninen attribuutti | DEFLATE (Nykyinen) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standardointi | IETF RFC 1951 (Raaka) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Liukuva ikkuna | Enintään 32 kilotavua | Enintään 32 kilotavua | Enintään 16 megatavua | Enintään 2 gigatavua |
| Tarkistussummatila | Adler-32 (zlib-kääreessä) | CRC-32 (gzip-kääreessä) | Virrassa ei ole sisäänrakennettua tarkistussummaa | xxHash64 (nopea 64-bittinen hajautus) |
| Jokapäiväinen käyttö | PNG-kuvat, PDF-virrat, ZIP | Unix .tar.gz, HTTP gzip | Verkkofontit (WOFF2), HTTP br | Linux-ydin, tietokannat, pelit |
Yleiset vioittumistavat ja heksadesimaalinen palautusopas
Purkaminen epäonnistuu virheilmoitukseen 'Z_DATA_ERROR: incorrect data check'.
Perussyy: Epäsuhta zlib-käärityn virran lopussa olevassa 4-tavuisessa Adler-32-tarkistussummassa.
Korjaus: Ohita Adler-32-varmennus käyttämällä raakaa purkua tai korjaa File2File.app Deflate Recovery -työkalulla.
Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit
DEFLATE-jäsenninten on valvottava tarkasti Huffman-puun rakennuskoodeja puskurin ulkopuolisten osoitinkirjoitusten estämiseksi.
Tunnetut hyökkäysvektorit
- Puutteelliset tai ylimerkityt dynaamiset Huffman-puun bittipituustaulukot aiheuttavat virheellisiä muistin lukuja.
- Purkupommi (zip-pommi), joka laajentaa pienet hyötykuormat sadoiksi gigatavuiksi RAM-muistia.
- Puskurin yliluku validoimattomissa liukuvan ikkunan etäisyyskoodeissa.
Tietoturvan parhaat käytännöt: Valvo tarkasti enimmäismuistin varausta ja laajenemissuhderajoituksia purkamisen aikana.
Historia ja virstanpylväät
Tärkeimmät edut
- DEFLATE on laajalti käytössä ohjelmistokirjastoissa ja tiedostomuodoissa, mutta tuki riippuu suoritusympäristöstä ja sovelluksesta.
- DEFLATE-määrityksen voi toteuttaa vapaasti; lisensointi ja tuki riippuvat ohjelmistototeutuksesta.
- Nopea purku minimaalisella muistijalanjäljellä (vaatii vain 32 kt liukuvan ikkunan muistia).
Tekniset rajoitukset
- Liukuva ikkuna on rajoitettu 32 kilotavuun, mikä heikentää pakkaustehokkuutta suurissa tiedostoissa, joissa on kaukaisia toistoja.
- Alhaisemmat pakkaussuhteet nykyaikaisilla verkkoresursseilla verrattuna uudempiin algoritmeihin, kuten Brotliin ja Zstandardiin.
- Raaoista DEFLATE-virroista puuttuu itsekuvaileva metatieto tai säilökehys ilman zlib- tai gzip-kääreitä.
Mielenkiintoisia teknisiä faktoja
- Phil Katz keksi DEFLATE-algoritmin sen jälkeen, kun Unisys haastoi hänet oikeuteen varhaisissa PKARC-työkaluissa käytetystä patentoidusta LZW-algoritmista.
- Standardit zlib-otsikkotavut '78 9C' osoittavat oletuspakkauksen, '78 01' alhaisen pakkauksen ja '78 DA' maksimipakkauksen.
- PNG käyttää kuvatietonsa pakkaukseen DEFLATE-algoritmia PNG-määrityksen mukaisesti.
Usein kysytyt tekniset kysymykset
Mitä eroa on DEFLATE-, zlib- ja gzip-muodoilla?
DEFLATE on raaka pakkausalgoritmi (RFC 1951). Zlib käärii DEFLATE:n 2 tavun otsakkeeseen ja Adler-32-tarkistussumman (RFC 1950). Gzip käärii DEFLATE:n tiedoston metatietoihin ja CRC-32-tarkistussumman (RFC 1952).
Miksi PNG käyttää DEFLATE-pakkausta?
PNG-muoto luotiin vuonna 1995 korvaamaan GIF ilman patentoituja LZW-algoritmeja, ja se valitsi pakkauksekseen avoimen ja rojaltivapaan DEFLATE-algoritmin.
Miten voin purkaa raa'an .deflate-tiedoston?
Voit purkaa raakaluontoisia DEFLATE- tai zlib-tavuvirtoja alkuperäisiksi pakkaamattomiksi tiedostoiksi File2File.app-palvelun avulla suoraan verkkoselaimessasi.
Aiheeseen liittyvät DEFLATE-muunnosparit
GZIP-virran muuntaminen raakaksi DEFLATE-muodoksi poistaa ulkoisen tiedostokääreen ja otsikon metatiedot ja jättää jäljelle vain pakatun hyötykuorman erikoistuneita verkkoprotokollia ja matalan tason arkistoja varten.
Raaka DEFLATE -virran muuntaminen GZIP-virraksi käärii pakatun sisällön vakiomuotoiseen säilöön, jossa on metatieto-otsakkeet, jotta käyttöjärjestelmät ja verkkotyökalut voivat lukea sen oikein.