da.phhsnews.com


da.phhsnews.com / Hvorfor er Zip Able i stand til at komprimere enkelte filer bedre end flere filer med samme indhold?

Hvorfor er Zip Able i stand til at komprimere enkelte filer bedre end flere filer med samme indhold?


At kunne komprimere vores filer, så det er lettere at dele og / eller transportere dem, kan gøre vores elektroniske liv meget lettere, men nogle gange kan vi se ulige eller uventede størrelsesresultater efter at vi har komprimeret dem. Hvorfor det? Dagens SuperUser Q & A-indlæg har svarene på en forvirret læsers spørgsmål.

Dagens Spørgsmål og Svar-sessions kommer til vores side med SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

Foto med tilladelse til Jean-Etienne Minh-Duy Poirrier (Flickr).

Spørgsmålet

SuperUser læser sixtyfootersdude ønsker at vide, hvorfor zip er i stand til at komprimere enkeltfiler bedre end flere filer med samme type indhold:

Antag at jeg har 10.000 XML-filer og vil sende dem til en ven. Før jeg sender dem, vil jeg gerne komprimere dem.

Metode 1: Komprimer dem ikke

Resultater:

Metode 2: Zip hver fil separat og send ham 10.000 zip-XML-filer

Kommando:

Resultater:

Metode 3: Opret en enkelt zip-fil med alle 10.000 XML-filer

Kommando:

Resultater:

Metode 4: Sammenkoble filerne til en enkelt fil og zip den

Kommando:

Resultater:

Spørgsmål

  • Hvorfor får jeg så dramatisk bedre resultater, når jeg bare glider en enkelt fil?
  • Jeg forventede at få drastisk bedre resultater ved hjælp af metode 3 end metode 2, men jeg lade være med. Hvorfor er dette?
  • Er denne adfærd specifik for zip? Hvis jeg forsøgte at bruge Gzip, vil jeg få forskellige resultater?

Yderligere info

Meta Data

En af de givne svar antyder, at forskellen er systemmetadataene, der er gemt i zip-filen. Jeg tror ikke, at dette kan være tilfældet. For at teste det gjorde jeg følgende:

Den resulterende zip-fil er 1,4 MB. Dette betyder at der stadig er ca. 10 MB uforklarligt plads. Hvorfor er zip i stand til at komprimere enkeltfiler bedre end flere filer med samme type indhold?

Svaret

SuperUser-bidragsydere Alan Shutko og Aganju har svaret for os. Først op, Alan Shutko:

Zip-komprimering er baseret på gentagne mønstre i de data, der skal komprimeres, og komprimeringen bliver bedre jo længere filen er, da flere og længere mønstre kan findes og bruges.

Forenklet, Hvis du komprimerer en fil, er ordbogen, der kortlægger (korte) koder til (længere) mønstre, nødvendigvis indeholdt i hver resulterende zip-fil; Hvis du zip en lang fil, bliver ordbogen 'genbrugt' og vokser endnu mere effektivt på tværs af alt indhold.

Hvis dine filer er lige lidt ens (som tekst altid er) bliver genbrug af 'ordbogen' meget effektiv og Resultatet er en meget mindre total zip-fil.

Efterfulgt af svaret fra Aganju:

I zip er hver fil komprimeret separat. Det modsatte er

solid kompression , dvs. filer komprimeres sammen. 7-zip og Rar bruger som standard komprimering som standard. Gzip og Bzip2 kan ikke komprimere flere filer, så Tar bruges først og har samme virkning som solid kompression. Da xml-filer har en lignende struktur (og sandsynligvis lignende indhold), hvis filerne komprimeres sammen, vil komprimeringen være højere .

Hvis en fil indeholder strengen "

", og kompressoren allerede har fundet den pågældende streng i en anden fil, erstatter den den med en lille peger til den foregående kamp. Hvis kompressoren ikke bruger solid kompression, registreres den første forekomst af strengen i filen som en bogstavlig , som er større. Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Se hele diskussionsgruppen her.



Er ATA det samme som IDE / PATA eller SATA?

Er ATA det samme som IDE / PATA eller SATA?

Når du køber en ny harddisk, kan det nogle gange være lidt forvirrende, når lignende eller ikke så ensartet terminologi er alle blandet sammen i produktets beskrivelse. Med det i tankerne har dagens SuperUser Q & A-post svaret på en nysgerrig læsers spørgsmål. Dagens Spørgsmål og Svar-sessions kommer til vores side med SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

(how-to)

Microsoft annoncerer Windows 10's funktioner i dag, og det omfatter ting som Cortana digital assistent, Xbox integration, en helt og holdent ny browser, der ikke er Internet Explorer, og ja, hologrammer. Men skal du passe? Vi vil hævde, at selv uden gimmicks er Windows 10 en fantastisk opgradering til alle. Og det er en gratis opgradering fra Windows 7 og 8.

Microsoft annoncerer Windows 10's funktioner i dag, og det omfatter ting som Cortana digital assistent, Xbox integration, en helt og holdent ny browser, der ikke er Internet Explorer, og ja, hologrammer. Men skal du passe? Vi vil hævde, at selv uden gimmicks er Windows 10 en fantastisk opgradering til alle. Og det er en gratis opgradering fra Windows 7 og 8.

Først vil vi gå igennem og opine på alle de funktioner, de annoncerede i dag, og så vi Jeg vil fortælle dig, hvorfor du skal opgradere til Windows 10. Windows 10 er et universelt operativsystem over alle enheder Det tv på billedet er faktisk en 84 "Surface tablet. Og det headset er HoloLens. Windows 10 kører nu det samme operativsystem på dit skrivebord, tablet, Xbox og din telefon .

(how-to)