- Yettel topik
- Android alkalmazások - szoftver kibeszélő topik
- iPhone topik
- Kategóriájának kuriózuma a Motorola Edge 70 Pro
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Samsung Galaxy S26 Ultra - fontossági sorrend
- One mobilszolgáltatások
- Magisk
- Az AI átformálja a Peugeot modelljeit is
Aktív témák
-
Andie
őstag
Beszólok ide egy okosat, remélem nem fogok nagyon kilógni a sorból.
Anno, TP-s koromban (jó 10 éve) énis szórakoztam ilyennel, konkrétan az adta az ihletet, hogy irtam egy kártyás programot. Ebben a kártyalapokat grafikusan jelenitettem meg ofkoz, de mint ilyen, elég helyet foglaltak (magyar kártya különbözö lapjai). Természetesen bmp-ben voltak, hisz akkoriban még a jpg-t pascalban programozni max a professzorok tudták.
No micsinájjunk. Alapesetben a programom 5 mega volt a képekkel együtt, ami akkoriban, a dukenukemes kislemezes idöszakban horror volt. Nosza, tömöritsünk. Node hogyan?
Napokig törtem a fejem, akkoriban még nem volt net, könyv se nagyon erröl, rar is DOSban futott, sztem zipröl csak a zár kapcsán hallottunk.
Én a következö algoritmust dolgoztam ki, szerintem kezdésnek neked is jó lesz:
Vegyünk egy elég nagy hosszúságú adatfolyamot. Pl egy bmp, vagy egy szöveg, doc, xls, akármi. Még exe is akár.
Ezek óhatatlanul is tartalmaznak redundás adatokat, azaz pl egymásután 150 db space, vagy #0, vagy ilyesmi. Különösen igaz volt ez a BMP-imre, lásd fent. Egy kártyalap fehér - alapvetöen. Namost a sok fehér sok fehér pontból áll, ami helypocsékolás.
Miért nem csinálunk olyat, (szerk, mert nem voltam elég egyértelmü) hogy ahol 3-nál több azonos adat van egymásután, azt soksok byte helyett 3 bytetal helyettesitem : egy speciális jelzö karakter, (hogy itt tömör adat jön) + darabszám + az eredeti adat byte. Értelemszerüen csak 3-nál nagyobb hosszon éri meg, hisz akkor lesz rövidebb az eredeti szekvenciánál.
Nézzünk egy példát. Van egy olyan képem, ami a magyar zászlót reprezentálja. 100 pont piros, 100 fehér, 100 zöld. Ez ugye összesen 300 byte. (binárisan pl : 50,50,50,50 .......50, 34,34,34,34 ..... 34, 88,88,88, ........... 88)
Nézzük ezt tömöritve : !,100,50, !,100,34, !, 100, 88 (amennyiben pl a ! -jel a spec karakter.) Ez igy, ha jól számolom 9byte. 33x-os tömörités!
No persze ez még igy nem teljes, figyelembe kell venni, hogy elöfordulhat 255-nél több azonos adat egymásután, akkor vagy széválasztod öket ( !, 255, x, !, 255,x, ...), vagy 16 bitessel dolgozol, vállalva ezzel azt, hogy viszont amennyiben csak 255nél kevesebb adatot tömöritesz az adott szekvencián, 1 byte fölösleges lesz ( !, 0, 230, x )
Felveti azt a problémát, hogy ha magában a tömöriendö fileban is szerepel a spec karakter (és miért ne szerepelhetne egy bináris fileban), akkor micsinálsz? Hogy azt az értelmezö ne tömöritett adatnak vegye? (megoldás : pl megduplázod).
Ezen apró finomságokkal már nem untatnám a T. közönséget, akit érdekel, privátban részletezhetjük, pl delphi kóddal is akár - vagy közkivánatra akár ittis.
[Szerkesztve]
Aktív témák
- AKCIÓ! Lenovo Thinkpad P15 Gen 1 FHD notebook - i7 10850H 32GB DDR4 1TB SSD T2000 4GB W11
- BESZÁMÍTÁS! Asus B365M i5 9600K 16GB DDR4 250GB SSD GTX 1660 6GB Formula Air Mesh G3 DeepCool 400W
- ÚJ Lenovo LOQ Intel Core i7-13650HX, 32GB, 1TB, RTX 5060(8GB), FHD IPS 144Hz
- Dell Latitude 7410 Core i5-10310u, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



