Nepapstrādāts DEFLATE (.deflate)

IETF Standarts

DEFLATE 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:

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ē.

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 DA

ASCII ATTEIOLOJUMS: xœ / x. / xÚ

Standartizācija: IETF RFC 1951 / RFC 1950 (zlib)

Tehniskās specifikācijas

Konteinera arhitektūraRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
SaspiešanaLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
Baitu secībaLittle-Endian bit-packing order
Krāsu telpasN/A (Data Compression Stream)
Kanāli un struktūraRaw binary or text data stream
Maks. izmēriUnbounded stream length
Caurspīdīgums100% bit-exact lossless data reproduction
Straumēšana un progresīvā ielādeBlock-based bitstream supports arbitrary continuous byte streaming

Tehniskā salīdzinājuma matrica: DEFLATE pret konkurentiem

Tehniskais atribūtsDEFLATE (Pašreizējais)GZBROTLIZSTD
StandartizācijaIETF RFC 1951 (Neapstrādāts) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Slīdošais logsMaksimums 32 kilobaitiMaksimums 32 kilobaitiLīdz 16 megabaitiemLīdz 2 gigabaitiem
Kontroles summas režīmsAdler-32 (zlib ietvarā)CRC-32 (gzip ietvarā)Nav iebūvētas straumesxxHash64 (64 bitu ātrā haša)
Ikdienas lietošanaPNG attēli, PDF straumes, ZIPUnix .tar.gz, HTTP gzipTīmekļa fonti (WOFF2), HTTP brLinux 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

1996Pīters Deičš (Peter Deutsch) formalizē DEFLATE kā IETF RFC 1951 un zlib kā RFC 1950.
1995Žans-lūps Gailijs (Jean-loup Gailly) un Marks Adlers (Mark Adler) izdod zlib - universālu C atsauces bibliotēku DEFLATE.
1991Fils Kacs (Phil Katz) izgudro DEFLATE priekš PKZIP 2.0, lai aizstātu vecākos Implode un Reduce algoritmus.

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ā.