Nepapstrādāts DEFLATE (.deflate)
IETF StandartsDEFLATE ir visizplatītākais bezzaudējumu datu saspiešanas algoritms skaitļošanas vēsturē, kas jau vairāk nekā trīs gadu desmitus nodrošina ZIP arhīvus, GZIP straumes, PNG attēlus un HTTP tīmekļa saspiešanu.
Konvertēt GZIP uz DEFLATE
Bezmaksas GZIP uz DEFLATE konvertētājs pārlūkprogrammā. Konvertējiet failus uzreiz savā ierīcē.
Pārbaudīt un metadati
Operētājsistēmas un failu analizatori identificē DEFLATE failus, pārbaudot sākotnējo bināro baitu secību:
Baitu līmeņa galvenes paraksts (maģiskie baiti)
Operētājsistēmas un failu analizatori identificē DEFLATE failus, pārbaudot sākotnējo bināro baitu secību:
HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):
78 9C / 78 01 / 78 DAASCII ATTEIOLOJUMS: xœ / x. / xÚ
Standartizācija: IETF RFC 1951 / RFC 1950 (zlib)
Tehniskās specifikācijas
| Konteinera arhitektūra | Raw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum |
| Saspiešana | LZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding |
| Baitu secība | Little-Endian bit-packing order |
| Krāsu telpas | N/A (Data Compression Stream) |
| Kanāli un struktūra | Raw binary or text data stream |
| Maks. izmēri | Unbounded stream length |
| Caurspīdīgums | 100% bit-exact lossless data reproduction |
| Straumēšana un progresīvā ielāde | Block-based bitstream supports arbitrary continuous byte streaming |
Tehniskā salīdzinājuma matrica: DEFLATE pret konkurentiem
| Tehniskais atribūts | DEFLATE (Pašreizējais) | GZ | BROTLI | ZSTD |
|---|---|---|---|---|
| Standartizācija | IETF RFC 1951 (Neapstrādāts) / RFC 1950 (zlib) | IETF RFC 1952 (Gzip) | IETF RFC 7932 (Brotli) | IETF RFC 8878 (Zstandard) |
| Slīdošais logs | Maksimums 32 kilobaiti | Maksimums 32 kilobaiti | Līdz 16 megabaitiem | Līdz 2 gigabaitiem |
| Kontroles summas režīms | Adler-32 (zlib ietvarā) | CRC-32 (gzip ietvarā) | Nav iebūvētas straumes | xxHash64 (64 bitu ātrā haša) |
| Ikdienas lietošana | PNG attēli, PDF straumes, ZIP | Unix .tar.gz, HTTP gzip | Tīmekļa fonti (WOFF2), HTTP br | Linux kodols, datubāzes, spēles |
Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis
Atkausēšana neizdodas ar paziņojumu 'Z_DATA_ERROR: incorrect data check'.
Pamatcēlonis: Neatbilstība 4 baitu Adler-32 kontroles summā zlib ietvertās straumes beigās.
Atkopšana: Apejiet Adler-32 verifikāciju, izmantojot neapstrādātu inflate, vai labojiet ar File2File Deflate Recovery.
Drošības analīze un parsētāja uzbrukuma vektori
DEFLATE parsētājiem ir stingri jāvalidē Hofmaņa koka konstrukcijas kodi, lai novērstu ārpus robežu rādītāju rakstīšanu.
Zināmie uzbrukuma vektori
- Nepilnīgas vai pārslogotas dinamiskā Hofmaņa koka bitu garuma tabulas, kas izraisa nederīgas atmiņas nolasīšanas.
- Atkausēšanas bumba (zip bomb), kas paplašina sīkaspayloads simtos gigabaitu RAM.
- Bufera pārlasīšana nevalidētos slīdošā loga distances kodos.
Aizsardzības labākā prakse:
Vēsturiskā izcelsme un pavērsieni
Galvenās priekšrocības un plusi
- Noliedzams globālais standarts: ieviests aparatūrā, operētājsistēmās un katrā programmēšanas izpildlaikā.
- No patentiem un honorāriem brīvs dizains garantē atklātu piekļuvi visā datortehnikas nozarē.
- Ātra atkausēšana ar minimālu atmiņas patēriņu (nepieciešama tikai 32 KB slīdošā loga atmiņa).
Tehniskie ierobežojumi un mīnusi
- Slīdošais logs ir ierobežots līdz 32 KB, kas samazina saspiešanas efektivitāti lielos failos ar attālām dublēšanām.
- Zemāki saspiešanas koeficienti mūsdienu tīmekļa resursos salīdzinājumā ar jaunākiem algoritmiem, piemēram, Brotli un Zstandard.
- Neapstrādātām DEFLATE straumēm trūkst pašaprakstošu metadatu vai konteinera ierāmējuma bez zlib vai gzip ietvariem.
Interesanti tehniski fakti
- Fils Kacs izgudroja DEFLATE pēc tam, kad Unisys viņu iesūdzēja tiesā par patentēto LZW algoritmu, ko izmantoja agrīnajās PKARC utilītās.
- Standarta zlib galvenes baiti '78 9C' norāda noklusējuma saspiešanu, '78 01' zemu saspiešanu un '78 DA' maksimālo saspiešanu.
- Katrs PNG attēls uz Zemes izmanto DEFLATE, lai saspiestu savus IDAT pikseļu gabalus.
Bieži uzdotie tehniskie jautājumi
Kāda ir atšķirība starp DEFLATE, zlib un gzip?
DEFLATE ir neapstrādāts kompresijas algoritms (RFC 1951). Zlib ietver DEFLATE ar 2 baitu galveni un Adler-32 kontrolsummu (RFC 1950). Gzip ietver DEFLATE ar faila metadatiem un CRC-32 kontrolsummu (RFC 1952).
Kāpēc PNG izmanto DEFLATE?
PNG formāts tika izveidots 1995. gadā, lai aizstātu GIF, neizmantojot patentētus LZW algoritmus, kompresijai izvēloties atvērtu, bezatlīdzības DEFLATE standartu.
Kā es varu atspiest neapstrādātu .deflate failu?
Jūs varat atspiest neapstrādātas DEFLATE vai zlib baitu plūsmas oriģinālos nesaspiestos failos, izmantojot File2File.app tieši savā tīmekļa pārlūkprogrammā.
Saistītie DEFLATE konvertēšanas pāri
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.
Neapstrādātas DEFLATE datu konvertēšana GZIP straumē ietin saspiesto datu kopu standarta konteinerā ar metadatu galvenēm, lai operētājsistēmas un tīmekļa rīki to varētu pareizi nolasīt.