Ha valaha is több nagyméretű fájlt vagy programot kellett e-mailben elküldenie, feltöltenie vagy letöltenie, valószínűleg találkozott már ZIP-fájlokkal. A tömörített vagy archivált fájlokként is ismert ZIP-fájlok több fájlt tömörítenek egyetlen helyre .zip vagy .ZIP kiterjesztéssel, csökkentve az összméretet és megkönnyítve a továbbítást.
Phillip Katz találta fel a ZIP-fájlt 1986-ban, és először a PKZip programmal valósult meg Katz cégének, a PKWare, Inc. számára. Végül Katz tömörítési módszere elterjedt a népszerű operációs rendszereken belül. A Microsoft Windows és az Apple Mac OS beépített segédprogramokat tartalmaz a fájlok tömörítésére és kicsomagolására, és az olyan programok, mint a WinRAR, a WinZip és a StuffIt képesek ezeket bővíteni.
De hogyan működik mindez? Milyen technológiai varázslat van a háttérben, amely kisebbé teszi a fájlokat, miközben minden információt megtart a későbbiekre?
Ez a “varázslat” valójában egy elég egyszerű algoritmus, amely a fájl felesleges aspektusait veszi és kisebb részekre bontja.
Egy könnyen érthető példa kedvéért vegyük a következő mondatot: “A Mashable segíthet okosabbá tenni az olvasókat; az olvasók segíthetnek okosabbá tenni a Mashable-t”, és tegyünk úgy, mintha ez egy fájl lenne.
A példamondatban minden szó kétszer szerepel. Ha ebben a mondatban minden egyes karakter és szóköz egy memóriaegységet foglalna el, akkor az egésznek 78 egységnyi lenne a fájlmérete. Ha létrehoznánk egy számozott kódot – vagy “szótárt” – ehhez a mondathoz, az valahogy így nézne ki:
1. Mashable
2. can
3. help
4. make
5. readers
6. smarter
Ez az új mondat mindössze 24 egységből áll. Ezért a tömörített fájlnak csak 24 egységnyi memóriája lenne egy másik fájl mellett, amely a számozott kódunkat sorolja fel, hogy a tömörítő program tudja, hogyan kell alkalmazni az egyes információegységeket. Ezt hívják “veszteségmentes tömörítésnek”; az összes eredeti információ megmarad.
Az, ahogyan egy tényleges tömörítőprogram működik, egy kicsit bonyolultabb, mint az előző példa – felismerné a mintákat. Egy példa erre az “e” betű és egy szóköz a “Mashable” és a “make” után. De mivel ez a bizonyos minta nem sokszor fordul elő, a program valószínűleg felülírná egy sokkal nyilvánvalóbb mintával. A tényleges program sokkal hatékonyabb szótárat és tömörített fájlt tud találni, mint mi.
A HowStuffWorks oktatási és oktató weboldal szerint a nyelvekben gyakori, hogy vannak redundáns minták, ezért a szövegfájlok könnyen tömöríthetők. A fájlcsökkentési arány azonban több tényezőtől függ, többek között a fájl típusától és méretétől, valamint attól, hogy a program hogyan választja a tömörítést.
A képek és az MP3-fájlok ezzel szemben több egyedi információt tartalmaznak, sok minta nélkül. Itt jön a képbe a “veszteséges tömörítés” – a tömörítő programok megszabadulnak az általuk feleslegesnek ítélt információktól. Ha például egy szkennelt képen kék égbolt lenne, egy tömörítő program minden egyes pixelhez kiválaszthatna egy használt kék színt. Ha a tömörítési program jól működik, a változás nem lenne nagyon észrevehető, de a fájl mérete jelentősen kisebb lenne.
A veszteséges tömörítéssel azonban az a probléma, hogy a tömörített fájlból nem kapja meg az eredeti fájlt, így kevésbé ideális, mint a veszteségmentes tömörítés, ha az összes eredeti információra szükség van, például adatbázisok és bizonyos alkalmazások letöltésekor.
Mashable composite image courtesy of , tose, Auris.