no.phhsnews.com


no.phhsnews.com / Hvorfor er Zip i stand til å komprimere enkle filer bedre enn flere filer med samme innhold?

Hvorfor er Zip i stand til å komprimere enkle filer bedre enn flere filer med samme innhold?


Å kunne komprimere filene våre slik at det er enklere å dele og / eller transportere dem, kan gjøre våre Elektroniske liv blir mye enklere, men noen ganger ser vi kanskje merkelige eller uventede størrelsesresultater etter at vi har komprimert dem. Hvorfor det? Dagens SuperUser Q & A-post har svar på spørsmål fra en forvirret leser.

Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder. Jean-Etienne Minh-Duy Poirrier (Flickr).

Spørsmålet

SuperUser-leseren sixtyfootersdude vil vite hvorfor zip er i stand til å komprimere enkeltfiler bedre enn flere filer med samme type innhold:

Anta at jeg har 10.000 XML-filer og vil sende dem til en venn. Før jeg sender dem, vil jeg 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: Lag en enkel zip-fil som inneholder alle 10 000 XML-filer

Kommando:

Resultater:

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

Kommando:

Resultat:

Spørsmål

Hvorfor får jeg så dramatisk bedre resultater når jeg bare zipper en enkelt fil?

  • Jeg ventet å få drastisk bedre resultater ved å bruke metode 3 i stedet for metode 2, men jeg ikke. Hvorfor er dette?
  • Er denne oppførselen spesifikk for zip? Hvis jeg prøvde å bruke Gzip, ville jeg få forskjellige resultater?
  • Tilleggsinfo

Meta Data

En av svarene som er oppgitt, antyder at forskjellen er systemmetadataene som er lagret i zip-filen. Jeg tror ikke at dette kan være tilfelle. For å teste det gjorde jeg følgende:

Den resulterende zip-filen er 1,4 MB. Dette betyr at det fortsatt er omtrent ti MB uforklarlig plass.

Hvorfor er zip i stand til å komprimere enkle filer bedre enn flere filer med samme type innhold?

Svaret

SuperUser-bidragsyterne Alan Shutko og Aganju har svaret for oss. Først opp, Alan Shutko:

Zip-komprimering er basert på repeterende mønstre i dataene som skal komprimeres, og komprimeringen blir bedre jo lenger filen er, ettersom flere og flere mønstre kan bli funnet og brukt.

Forenklet, Hvis du komprimerer en fil, er ordboken som kortere (korte) koder til (lengre) mønstre nødvendigvis inneholdt i hver resulterende zip-fil; Hvis du slipper en lang fil, er ordboken "gjenbruk" og blir enda mer effektiv på tvers av alt innhold.

Hvis filene dine er lik litt like (som teksten alltid er), blir gjenbruk av «ordlisten» veldig effektiv og Resultatet er en mye mindre total zip-fil.

Etterfulgt av svaret fra Aganju:

I zip er hver fil komprimert separat. Det motsatte er

solid komprimering , det vil si at filene komprimeres sammen. 7-zip og Rar bruker standard komprimering som standard. Gzip og Bzip2 kan ikke komprimere flere filer, så Tar brukes først, og har samme effekt som solid komprimering. Siden xml-filer har lignende struktur (og sannsynligvis liknende innhold), hvis filene komprimeres sammen, blir komprimeringen høyere .

Hvis en fil inneholder strengen "

" og kompressoren allerede har funnet den strengen i en annen fil, erstatter den den med en liten peker til forrige kamp. Hvis kompressoren ikke bruker solid komprimering, blir den første forekomsten av strengen i filen registrert som en bokstavlig , som er større. Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Se hele diskusjonstråden her.



HTG Anmeldelser Amazon Fire TV: Beefy-maskinvare Primet for Amazon-økosystemet

HTG Anmeldelser Amazon Fire TV: Beefy-maskinvare Primet for Amazon-økosystemet

I en alder av svindelende kabel-TV abonnementer, er firmaer klamoring for kontroll av stuen din, og Amazon er ikke noe unntak. I dag tar vi en titt på deres inngang i mediasenterets sirkus med en gjennomgang av den kompakte og kraftige Amazon Fire TV. Hva er Amazon Fire TV? Amazon Fire TV ($ 99) er som navnet sikkert, Amazonas forgang til markedet for streaming media center, som skal konkurrere med Apple TV, Roku 3 og Googles Chromecast (samt deres nylig annonserte Nexus Player).

(how-to)

Slik leser du kabelmodemets diagnostiske side når noe går galt

Slik leser du kabelmodemets diagnostiske side når noe går galt

Selv om det ikke er kjent for og ignorert av de fleste, har kabelmodemene en diagnose som kan hjelpe deg med å feilsøke tilkoblingsproblemer. Hva Diagnostisk side? Ukjent for de fleste, kabelmodemer (og andre bredbåndsmodemer) har diagnose- og loggfunksjoner innebygd, akkurat som rutere. Mens noen mennesker iblant kikker på kontrollpanelet på ruteren, ser det svært få folk på modemene sine - eller til og med innser at de kan gjøre det.

(how-to)