Che Posted February 18, 2014 Report Posted February 18, 2014 (edited) Ce parere aveti de aceasta metoda super de ULTRA arhivare ?Ma gandeam mai demult sa fac un arhivator dar intre timp m-am lasat pagubas asa ca m-am gandit sa impart cu voi mtoda la care ma gandeam si eventual sa-mi spuneti ce parere aveti de ea, daca e buna sau nu.Prin urmare...Ma gandeam asa, sa citesti fisierul (orice fisier) in hexadecimal, practic va imaginati ca il deschideti intr-un hexeditor.Apoi m-am gandit asa, programul sa fie aiba undeva definite absolut toate combinatiile luate de cate trei sau de cate patru de hexadecimal (nu pot fi asa multe).Apoi, fiecarei combinatii de catre 3 (sa zicem ca ne folosim doar de grupe de cate trei, nu si de cate 4) sa-i corespunda un singur character hexadecimal prestabilit.Practic avem un fisier in hex gen 00 0E DC AE 0B 0C...bla bla bla pe un rand.Daca programul are prestabilit dinainte ca urmatoarelor combinatii 00 0E DC, precum si AE 0B 0C le corespunde 0E si respective AE (tot niste hex-uri nu neaparat sa se regaseasca in combinatia respective).rezulta ca randul: 00 0E DC AE 0B 0C...bla bla bla va fi transformat doar in 0E AE...bla bla bla (practic mult mai putine acuma).Asta ar trbui sa fie nivelul de arhivare 1.Apoi, daca vrem sa avem si nivelul de arhivare 2 (mai puternica) nu trebuie decat sa rearhivam caracterele hex rezultate anterior 0E AE...bla bla bla si va rezulta un alt rand de caractere in hex si mai scurt si tot asa.Ce parere aveti ? Credeti ca ar fi eficienta o astfel de arhivare ? Poate o face cineva, nu am si nu cer drepturi de autor. Edited February 18, 2014 by Che Quote
Silviu Posted February 18, 2014 Report Posted February 18, 2014 Pai din ce spui tu, la metoda de arhivare n ar trebui sa iti ramana doar o singura pereche. Cred ca e imposibil ce spui tu acolo. Quote
AlStar Posted February 18, 2014 Report Posted February 18, 2014 (edited) Tu ai citit ce-ai scris inainte sa confirmi crearea topicului?Toate combinatiile posibile de n cifre hexa is in numar de 16^n. Si ghici ce? Cea mai mare valoare care tre' s-o stochezi e 0xFF..FF (de n-ori F) - adica (16^n)-1Tu crezi ca algoritmii de arhivare is asa simplu de dezvoltat incat sa poata gandi orice ametit unul? Edited February 18, 2014 by AlStar Quote
Silviu Posted February 18, 2014 Report Posted February 18, 2014 (edited) Daca vrei sa faci ceva pentru un proiect de licenta sau sa inveti sa programezi, poti lua ca exemplu Hamming code - Wikipedia, the free encyclopedia si sa dezvolti ceva asemanator pentru ce vrei tu sa faci si lucrezi frumos cu cod binar. Edited February 18, 2014 by Silviu Quote
Moderators Dragos Posted February 18, 2014 Moderators Report Posted February 18, 2014 Mother fucking piece of shit. Nu e buna metoda (testat). Quote
Active Members MrGrj Posted February 18, 2014 Active Members Report Posted February 18, 2014 Nu cred ca se poate face vreodata in viata asta ce ai zis tu acolo. Si daca s-ar putea, ar dura foarte mult. Cum ziceau si cei de mai sus, invata programare ( mai exact arbori Huffman) si nu vei mai gasi utilitatea a ceea ce ai zis tu mai sus. Arborii Huffman sunt arbori binari folosi?i într-o metod? de compresie a datelor care atribuie fiec?rui caracter (octet) un cod binar a c?rui lungime depinde de frecven?a octetului codificat; cu cât un caracter apare mai des într-un fisier cu atât se folosesc mai pu?ini bi?i pentru codificarea lui. De exemplu, într-un fi?ier apar 6 caractere cu urm?toarele frecven?e: a (45), b(13), c(12), d(16), e(9), f(5) Codurile Huffman pentru aceste caractere sunt: a=0, b=101, c=100, d=111, e=1101, f=1100Num?rul de bi?i necesari pentru un fi?ier de 1000 caractere va fi 3000 în cazul codific?rii cu câte 3 bi?i pentru fiecare caracter ?i 2240 în cazul folosirii de coduri Huffman, deci se poate realiza o compresie de cca. 25% (în cele 1000 de caractere vor fi 450 de litere 'a', 130 de litere 'b', 120 litere 'c', s.a.m.d).Fiecare cod Huffman începe cu un prefix distinct, ceea ce permite recunoa?terea lor la decompresie; de exemplu fi?ierul comprimat 001011101 va fi decodificat ca 0/0/101/1101 = aabe. Problema este de a stabili codul fiec?rui caracter in func?ie de probabilitatea lui de apari?ie astfel încât num?rul total de bi?i folosi?i în codificarea unui ?ir de caractere s? fie minim. Pentru generarea codurilor de lungime variabil? se folose?te un arbore binar în care fiecare nod neterminal are exact doi succesori. Quote
compile Posted February 18, 2014 Report Posted February 18, 2014 O sa te lovesti de limita de entropie a ceea ce vrei tu sa arhivezi. In principiu, in teoria informatiei, exista o cantitate minima de informatie prin care poti transmite date, vezi Entropy (information theory) Quote