Jei kada nors siuntėte el. laišką, įkėlėte ar atsisiuntėte kelis didelius failus ar programas, veikiausiai teko susidurti su suglaudintais „zip“ failais.
Į „zip“ failą galima suspausti daug dokumentų sumažinant bendrą jų užimamą vietą ir palengvinant (bei pagreitinant) jų persiuntimą, rašo Mashable.com.
Šį suspaudimo būdą 1986 metais sugalvojo Phillipas Katzas. Jis pirmą kartą buvo pritaikytas programoje „PKZip“. Ilgainiui P.Katzo sugalvotas glaudinimo metodas išpopuliarėjo, o dabar populiariausios operacinės sistemos „Windows“ bei „MacOS“ net turi vidinius įskiepius „zip“ failams sukurti ir išskleisti.
Kaip veikia ši technologija? Kokių magiškų galių reikia, kad failas užimtų mažiau vietos, bet neprarastų saugomos informacijos?
Ši magija tėra gana paprastas algoritmas, išskaidantis dokumentą į mažesnes dalis, jas surūšiuojantis ir atsikratantis to, ko nereikia.
Supaprastintam pavyzdžiui panaudosime tokį sakinį: „Nėra ugnies be dūmų, nėra dūmų be ugnies“. Sakykime, tai yra dokumentas, kurį reikia suspausti.
Kiekvienas žodis sakinyje panaudojamas du kartus. Jei kiekviena raidė ir tarpai sudarytų vieną atminties vienetą, tuomet visas sakinys užimtų 40 tokių vienetų. Jei sukurtume sunumeruotą kodą – arba savotišką žodyną – šiam sakiniui, jis atrodytų taip:
- Nėra
- ugnies
- be
- dūmų
O visą sakinį būtų galima iššifruoti taip: 1 2 3 4; 1 4 3 2. Tokiu atveju šis sakinys jau užimtų 16 atminties vienetų (pats „žodynas“ saugomas kitame faile, kurį programa naudoja atlikdama suglaudinimo ar išskleidimo veiksmą).
Tai vadinama „suglaudinimu nepatiriant nuostolių“ (angl. lossless compression) – išsaugoma visa originalaus failo informacija. Tokiu principu veikia glaudinimo programos, tiesa, jų darbas yra kiek labiau komplikuotas – jos suranda ir atpažįsta dažnai pasikartojančius mažesnius šablonus ir naudoja kur kas ilgesnį „žodyną“. Taigi, ji gali atrasti kur kas efektyvesnį būdą glaudinti dokumentus.
Įvairių tipų dokumentuose dažnai naudojami pasikartojantys šablonai. Tačiau failų glaudinimo santykis priklauso ne tik nuo dokumento pobūdžio, dydžio, bet ir to, kaip programa nusprendžia jį suglaudinti.
Tarkime, nuotraukas ar „MP3“ failus sudaro daugiau unikalios informacijos, kurioje sudėtinga rasti šablonų. Tokiu atveju galima naudoti „nuostolingą suglaudinimą“ (angl. lossy compression) – archyvavimo programos atsikrato informacijos, kurią jos laiko nesvarbia.
Pavyzdžiui, jei turite nuotrauką, kurios nemažą dalį sudaro mėlynas dangus, glaudinimo programa gali pasirinkti kelis dažniausiai pasitaikančius melsvus atspalvius ir juos naudoti visame mėlyname plote. Jei sistema suveiks tinkamai, gali būti, kad pokyčiai bus nė nepastebimi, tačiau nuotraukos dydis gerokai sumažės.
Šio suspaudimo būdo problema ta, kad išskleidę failą turėsite nebe originalų dokumentą. Taigi, jis negali būti naudojamas tokiais atvejais, kai būtina išskleisti visą originalią informaciją (pvz., glaudinant tekstus, duomenų bazes, programas ir kt.).