Kezdőoldal » Számítástechnika » Programozás » Célzottan text fájlokat jól...

Célzottan text fájlokat jól tömörítő programot hogy tudnék írni, esetleg van ilyen? (bővebben lent).

Figyelt kérdés

Tehát "a".."z" tartományból tartalmazna betűket és sok számot, valamint vesszőt.

A RAR, 7-ZIP meg az összes többinél nem lenet jobbat írni még akkor sem, ha célzottan egy program csak ilyen karakterekkel rendelkező fájlokat tudna tömöríteni?

Sajnos csak Pascal-ban tudok programozni de ha lehetséges a dolog, minden érdekelne.

A tömörítőprogram (tar és gzip-pel kombinálva) kb. 60%-os tömörítést tud végrehajtani rajta.

Cél a minél kisebb méret, pl. 95%-os tömörítés.

Én azért gondoltam hogy ez esetleg lehetséges, mert semmilyen bináris karakter nincs benne mint a bináris fájlokban, tehát csak a kódtábla meghatározott részéről tartalmaz karaktereket...

Bár tartok tőle, hogy nem igazán van jobb a 7-ZIP LZMAT, LZMAT2 és PPMD algoritmusánál, de nem tudom...



2014. nov. 14. 09:01
 1/7 Tengor ***** válasza:

95%-os tömörítés? Az azt jelenti, hogy egy 1 byte-os ASCII szöveget 0,4 bit-re tömörítesz össze, vagyis 1 biten legalább 3 karaktert kell kódolnod. Az kicsit erős...

Nem tudom mi a célod. Ha a tanulás, akkor próbáld lekódolni az ismertebb tömörítő eljárásokat! Biztos van Pascalos megvalósításuk, össze lehet hasonlítani őket.

Ha gyakorlatban akarod alkalmazni, akkor a Pascalt felejtsd el és kezdj C++-t tanulni!

2014. nov. 14. 09:25
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Egy bájtos szöveget nem akarnék kisebbre tömöríteni. :-)

Ha gyakorlatban érdekel, miért felejtsem el a Pascal-t, mert abban nem lehetne megvalósítani?

2014. nov. 14. 09:32
 3/7 Tengor ***** válasza:

Bocsi, ha rosszul fogalmaztam. Szóval egy olyan ASCII szöveg, ahol 1 byte-os egy karakter ott kellene 0,4 bit-re tömöríteni egy karaktert.

A Pascal tanuló nyelvnek jó, de olyan feladatokra, mint a tömörítés nem alkalmas, túl lassú.

2014. nov. 14. 09:36
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

Köszönöm a választ.

Tulajdonképpen annak örülnék, ha lenne valamilyen program, ami megoldaná, mert a C nyelvet sose tudtam megérteni, már amennyit tanultam belőle...

Egyébként elvileg nem kizárt hogy a text fájlban lévő sok azonos karakter miatt esetleg elérhető lenne nagyobb tömörítés

2014. nov. 14. 09:40
 5/7 Tengor ***** válasza:

Matematikailag levezethető, hogy miért nem lehet jobb tömörítőt írni a meglévőknél. Ha megtalálod a hibát a levezetésben, és bizonyítod, hogy tévedtek, akkor elvileg valóban lehet hatékonyabb tömörítő algoritmust is csinálni.


Persze kérdés, hogy valaki, aki a C-t nem tudta megtanulni, az képes-e megérteni és hibát találni egy olyan algoritmusban, amit tapasztaltabb emberek százai-ezrei átnéztek már és levezettek.

2014. nov. 14. 09:53
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Kísérletezni, tanulni a Pascal is jó lesz, emiatt nem kell újat tanulnod. Természetesen ha jutsz valamire és használni akarod, majd érdemes lesz átírni.


[link]

Először ezt értsd meg, kódold le. Ezt használják (többek között) a tömörítők is.

2014. nov. 14. 10:37
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

> A RAR, 7-ZIP meg az összes többinél nem lehet jobbat írni még akkor sem, ha célzottan egy program csak ilyen karakterekkel rendelkező fájlokat tudna tömöríteni?


Nem valószínű. A RAR és a ZIP mintákat keres, úgy tömörít. Ha egy bináris fájllal el tudnak boldogulni akkor egy szöveget többszörös hatékonysággal tudjak betömöríteni.


A zip 1989 óta létezik és mai napig fejlesztik, a legutolsó verziója 2013 április 28. került ki. 24 év alatt pedig nagyon sokat tudtak rajta fejleszteni, főleg, hogy OpenSource. A zlib ráadásul a legjobb iskola példája a platformfüggetlen natív függvénykönyvtárnak, gyakorlatilag nincs olyan platform amire ne fordulna le.


> Cél a minél kisebb méret, pl. 95%-os tömörítés.


Matematikai szempontból ez nem lehetetlen. Kellően nagy szöveges fájl esetén, ahol gyakori a minták ismétlése el lehet érni, azonban gyakorlatban nehéz megközelíteni még a 80%-ot is. Nyilván létezik olyan állatorvosi ló ahol 99% tömörítettséget is el tudsz érni, például a


XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO (64 byte)


mintát, fel tudod írni az {2}"XO"{64} vezérlő jelekkel, ami 4 byte, azaz 93% tömörítés.


> a C nyelvet sose tudtam megérteni, már amennyit tanultam belőle...


Akkor már tudod is, hogy miért nem...


> Célzottan text fájlokat jól tömörítő programot


Ami azt illeti létezik ilyen. A Huffman kódolás például egész jól működik nagy terjedelmű szövegekre. Nincs olyan jó, mint a zip vagy a rar, de gyorsabb és kisebb statikus méretet igényel.


Rövid szövegekre meg ott a Smaz.

[link]

2014. nov. 14. 11:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!