Jump to content
zebra

Am aici un fisier pus intr-o arhica care el are 2gb si arhiva are 1.3mb

Recommended Posts

Posted

Puteti sa imi spuneti cum se poate asa ceva?

La modul cel mai general, compresia datelor se imparte in 2 categorii.

  • Lossy
    - spre exemplu, luam o imagine cu o rezolutie de 4000x3000, in total 12m pixeli
    - calitatea este foarte buna, dar in anumite cazuri nu avem nevoie de a calitate asa mare, sau poate ne permitem un compromis pentru a economisi spatiul, timpul sau latimea de banda ( daca trimitem imaginea prin retea ).
    - doar ca si ochiul uman are anumite limite in ceea ce priveste calitatea pe care o poate percepe, deci in unele cazuri putem 'renunta' la anumiti pixeli iar diferentele fie vor fi foarte mici, fie nu vor fi vizibile.
    - modificarile se fac pe baza unor algoritmi, nu oricum, dar ideea de baza e ca se renunta la o parte din date pentru a economisi spatiul ( loos = a pierde )
  • Loossless
    - aici treaba sta putin invers, adica datele se comprima fara a sterge sau pierde din ele, ci doar se reconstruiesc cele redundante pentru a ocupa mai putin ( loose = mai larg, liber, simplu ...)
    - daca la imaginea de mai sus nu era o problema foarte mare daca scadea putin calitatea, exista cazuri in care nici cea mai mica informatie nu trebuie sa fie corupta sau sa se stearga. Nu cred ca ai vrea sa iti lipseasca niste cuvinte dupa ce tocmai ai arhivat un document sau script.

Uite, spre exemplu o metoda foarte simpla de compresie Loossless numita si Run Length Encoding.

Datele de intrare:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBCCCCCCCCCCCC

Ideea e sa comprimam cumva datele pentru a ocupa mai putin, dar sa le putem si reface exact cum au fost la inceput. Pentru asta trebuie identificate datele redundante, iar apoi rescrise sub o forma mai simpla.

In exemplu avem 3 tipuri de caractere, iar fiindca se repeta consecutiv le putem rescrie stocand doar numarul de repetari si caracterul

33A2B12C

Daca la inceput am avut 47 caractere, acum avem doar 8 care care totusi contin toate informatiile necesare pentru a le reface la forma initiala. Nu am deschis fisierul dar ceva asemanator ai avut si tu.

Posted

https://www.unforgettable.dk/

Click here to download 42.zip(42.374 bytes zipped)

The file contains 16 zipped files, which again contains 16 zipped files, which again contains 16 zipped files, which again contains 16 zipped, which again contains 16 zipped files, which contain 1 file, with the size of 4.3GB.

So, if you extract all files, you will most likely run out of space :-)

16 x 4294967295 = 68.719.476.720 (68GB)

16 x 68719476720 = 1.099.511.627.520 (1TB)

16 x 1099511627520 = 17.592.186.040.320 (17TB)

16 x 17592186040320 = 281.474.976.645.120 (281TB)

16 x 281474976645120 = 4.503.599.626.321.920 (4,5PB)

Password: 42

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...