Onko mitään hyvää tiedostojen pakkaamis ohjelmaa jolla sais vaikka 1gt tiedoston 10mb?
Mitä tahansa gigatavun tiedostoa ei voi ahtaa kymmeneen megatavuun eikä edes 999 megatavuun.
Jos ZIP tai vastaava pakkausmenetelmä ei tuota tulosta eikä kuvan tarkkuutta, musiikin laatua tms. voi huonontaa, tiedostoa ei kenties saa juuri pienempään tilaan.
Ei välttämättä löydy valmiita toteutuksia kovin helposti, mutta pienellä vaivannäöllä voit itse implementoida nettilegenda Niilo Paasivirran kehittämän pseudopak-algoritmin:
http://ilmatar.net/~np/keksinnot/
LZMA ja Bzip2 taitavat olla tällä hetkellä yksiä johtavista pakkausalgoritmeistä, mutta eivät nekään sentään tuollaiseen ihmeeseen pysty.
7-zip tukee kumpaakin yllämainittua pakkausta mm. 7z-tiedostomuodossaan.
Höps. PAQ8*-variantit ja WinRK johtavat tällä hetkellä. Bzip2 tulee sitten joskus reilun sadan muun pakkaajan jälkeen.
jcd3nton: ok, sovitaan sitten, että Bzip2 on tehokkaimpia yleisessä käytössä olevia pakkauksia.
Ai joo, PeaZip-niminen ohjelma tukee tuota PAQ8:a
Jos tiedosto sisältää vain pelkkiä nollia (tms. yksinkertainen sarja), niin useimmat pakkausalgoritmit pakkaavat sen melko pieneen (kokeilin äsken pakata RAR:lla 100 megaa välilyöntejä, niin se meni 7 kilotavuun). Pakkausteho riippuu eniten pakattavan datan säännönmukaisuudesta. Esim. näppituntumalta SQL-kannan dumppi pakkaantuu jopa 10%:iin alkuperäisestä, kirjoitettu teksti 20%:iin alkuperäisestä ja jo valmiiksi pakattu data (mm. kuva, ääni- ja videoformaatit) ei pakkaannu juuri lainkaan. CD-audio pakkaantuu häviöttömästi noin puoleen (musiikista riippuen).
Häviölliset algoritmit ovat tietenkin oma lukunsa.
Häviöttömillä pakkausalgoritmeilla on hyvinkin helppo osoittaa, että jos algoritmi pakkaa jonkin syötteen, niin väkisinkin on olemassa syöte, joka on "pakattuna" suurempi kuin alkuperäinen syöte (tosin nämä syötteet ovat yleensä jo kertaalleen pakattuja).
Sami kirjoitti:
Häviöttömillä pakkausalgoritmeilla on hyvinkin helppo osoittaa, että jos algoritmi pakkaa jonkin syötteen, niin väkisinkin on olemassa syöte, joka on "pakattuna" suurempi kuin alkuperäinen syöte (tosin nämä syötteet ovat yleensä jo kertaalleen pakattuja).
Hmmm... Mitä mielenkiintoista tai huomion arvoista tässä on? Ei avaudu millään, vaikka kuinka lukee ja miettii :-/ Siis mikä on tämän todistuksen hyöty? Toki filosofisena pohdinta menettelee, mutta... wtf? Pelastakaa minun yöunet! :D
LaNu kirjoitti:
Hmmm... Mitä mielenkiintoista tai huomion arvoista tässä on? Ei avaudu millään, vaikka kuinka lukee ja miettii :-/ Siis mikä on tämän todistuksen hyöty? Toki filosofisena pohdinta menettelee, mutta... wtf? Pelastakaa minun yöunet! :D
Hyöty? Noh, ainakin tiedetään ettei kannata pakata samaa tiedostoa kahdesti.
Ei siitä sen kummempaa hyötyä varsinaisesti ole. Kunhan vaan totesin, ettei millään pakkausalgoritmilla pysty kaikissa tapauksissa pakkaamaan tiedostoa, vaikka kuinka haluaisi saada sen puristettua pienempään tilaan. Etenkin siinä tulisi suuria ongelmia, jos haluaisi pakata kaiken 1% alkuperäisestä tilavuudestaan. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.