lt.phhsnews.com


lt.phhsnews.com / Kodėl "Zip" sugeba suspausti atskirus failus geriau nei kelis failus su tuo pačiu turiniu?

Kodėl "Zip" sugeba suspausti atskirus failus geriau nei kelis failus su tuo pačiu turiniu?


Galimybė suspausti failus, kad juos būtų lengviau dalytis ir / ar juos transportuoti, gali padaryti mūsų elektroninis gyvenimas daug lengviau, bet kartais mes galime matyti keistą ar netikėtą dydį, kai suspaudžiame juos. Kodėl tai? Šiandieninė "SuperUser" Q & A ataskaita turi atsakymus į supainioti skaitytojo klausimus.

Šiandienos klausimų ir atsakymų sesija ateina pas mus "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A svetainių grupės, padalijimas.

Nuotrauka mandagumo Jean-Etienne Minh-Duy Poirrier (Flickr).

Klausimas

SuperUser skaitytuvas sixtyfootersdude nori sužinoti, kodėl zip sugeba suspausti atskirus failus geriau nei kelis failus su tokio paties turinio tipu:

Tarkime, kad aš turėsite 10 000 XML rinkmenų ir norite jas išsiųsti draugei. Prieš siųsdami juos, aš norėčiau juos suspausti.

1 būdas: nesupriešinkite jų

Rezultatai:

2 būdas: kiekvieną failą atspausdinkite ir išsiųskite 10 000 ZIP failų

komandų:

Rezultatai:

3 metodas: sukurkite vieną zip failą, kuriame yra visi 10 000 XML failų

Komanda:

Rezultatai:

4 metodas: sujungiami failai į vieną failą ir zip

Rezultatai:

Klausimai

  • Kodėl aš gaunu tokius žymiai geresnius rezultatus, kai aš tik prisegščiau vieną failą?
  • Tikėčiau gauti geresnių rezultatų naudojant metodą 3, o ne 2 metodą, bet aš nereikia. Kodėl tai?
  • Ar ši elgsena būdinga zip? Jei aš bandžiau naudoti "Gzip", aš galėčiau gauti skirtingus rezultatus?

Papildoma informacija

Meta duomenys

Vienas iš pateiktų atsakymų rodo, kad skirtumas yra sistemos metaduomenys, kurie saugomi zip faile. Nemanau, kad taip gali būti. Norėdami tai išbandyti, aš padariau šį:

Gautas zip failas yra 1,4 MB. Tai reiškia, kad vis dar yra maždaug dešimt MB nepateisinamų erdvių.

Kodėl "Zip" gali suspausti atskirus failus geriau nei kelis failus su tokio paties tipo turiniu?

"Answer"

"SuperUser" autoriai Alanas Shutko ir Aganju turi atsakymas mums. Pirmiausia Alan Shutko:

"Zip" suspaudimas yra pagrįstas pakartotiniais suspaustų duomenų modeliais, o suspaudimas gerėja, nes ilgiau yra failas, nes galima rasti ir naudoti daugiau ir ilgesnių modelių.

Supaprastinta, jei suspaudus vieną failą, žodynėlis, kuris žemėlapius (trumpus) kodus (ilgesnius) modelius būtinai sudaro kiekviename gautame zip faile; jei zip vieną ilgą failą, žodyną "pakartotinai naudojamas" ir jis vis veiksmingiau išplečia visame turinyje.

Jei jūsų failai yra netgi panašūs (kaip visada tekstas yra), "žodyno" pakartotinis naudojimas tampa labai veiksmingas ir rezultatas yra daug mažesnis bendras zip failas.

Vykdant Aganju atsakymą:

Į zip kiekvienas failas yra suspaustas atskirai. Priešingai yra kietasis suspaudimas , ty failai suspaudžiami kartu. 7-zip ir Rar pagal nutylėjimą naudoja kietąjį suspaudimą. "Gzip" ir "Bzip2" negali suspausti kelis failus, taigi "Tar" yra naudojamas pirmiausia, turintis tokį patį efektą kaip ir kietąjį suspaudimą.

Kadangi xml failai turi panašią struktūrą (ir tikriausiai panašų turinį), jei failai suspaudžiami kartu, tada suspaudimas bus didesnis .

Pavyzdžiui, jei failas yra eilutė " ", o kompresorius jau nustatė tą eilutę kitame faile, jis pakeis mažą rodyklę į ankstesnę atitiktį. Jei kompresoriuje nenaudojamas kietas suspaudimas, pirmasis failo eilutės įvykis įrašomas kaip literal , kuris yra didesnis.


Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.


Kaip paruošti kompiuterį, planšetinį kompiuterį ar telefoną prieš jį parduodant

Kaip paruošti kompiuterį, planšetinį kompiuterį ar telefoną prieš jį parduodant

Tai yra kompiuterio, planšetinio kompiuterio ar išmaniojo telefono kelias. Prieš išvykdami būtinai sekite šį greitą tikrinimo sąrašą, kad paruoštumėte įrenginį naujam savininkui. Jei nesilaikysite šių veiksmų, galite prarasti svarbius asmeninius duomenis, susidurti su problemomis, leidžiančiomis DRM pirkimus ateityje arba jūsų asmeniniai duomenys gali būti susigrąžinami naujojo įrenginio savininko.

(how-to)

5 nuostabių dalykėlių iš "Kickstarter" verta pirkti

5 nuostabių dalykėlių iš "Kickstarter" verta pirkti

Aš esu didžiulis "Kickstarter" gerbėjas ir dabar tai yra defacto vieta, kuria norėčiau eiti, perkant naujus ir pažangius technologijų dalykus. Aš palaikiau daugiau kaip 60 projektų ir, nors aš ne mylėdavau ar naudoju viską, ką gavau iš svetainės, naudojamas dalykas, kurį aš naudoju visą laiką. Jei esate geek ar

(How-to)