Rezumat de lucru privind „program pentru a dezarhiva fișierul creat de algoritmul RLE»

Pentru redundanța datelor umane este adesea asociat cu informația de calitate, deoarece redundanță este, în general, îmbunătățește claritatea și percepția informațiilor. Cu toate acestea, atunci când vine vorba de stocarea și transmiterea de informații prin intermediul tehnologiei de calculator, de obicei, redundanța joacă un rol negativ, deoarece duce la o creștere a costurilor de stocare și de transmitere a informațiilor. Deosebit de acută această problemă se va topi în cazul prelucrării cantități uriașe de date la un volum redus de medii de stocare. În acest sens, există o problemă constantă de reducere a redundanță sau compresie. În cazul în care tehnicile de compresie a datelor sunt aplicate fișierelor gata, este de multe ori în loc de „compresie“, pentru a folosi termenul de „arhivare a datelor“, opțiunea de date comprimat numit arhivă, și instrumente software care implementează tehnici de compresie numite arhivator.

În funcție de ordinea în care obiectele sunt plasate date pentru a fi comprimate disting:

Compresie (arhivare): fișiere utilizate pentru a reduce dimensiunea fișierului în curs de pregătire pentru canalele lor de transfer sau de comunicare pentru transport pe suporturi externe de capacitate mică;

Compression (arhivare) foldere: este utilizat ca un mijloc de reducere a volumului folderului înainte de a depozita, de exemplu, pentru backup;

Comprimarea (compactare) discuri: utilizate pentru a îmbunătăți utilizarea discului mari prin comprimarea datelor în timpul (în mod tipic, sistemul de operare) înregistrarea acestora pe suportul de înregistrare.

Există mai mulți algoritmi de compresie a datelor practice, dar ele sunt toate bazate pe trei metode teoretice pentru reducerea redundanței datelor. Prima cale este de a schimba datele de conținut, al doilea - schimbare în structura de date, iar al treilea - o schimbare simultană a datelor de structură și de conținut ambele.

  1. INFORMAȚII GENERALE Arhivarea (unzip) fișiere

Una dintre cele mai comune tipuri de programe de servicii sunt un arhivator concepute pentru arhivare, ambalaje de fișiere comprimând stocate în ele.

Compresia de informații - procesul de conversie a informațiilor stocate în fișierul, într-o formă care reduce redundanța în reprezentarea sa și, în consecință, necesită mai puțină memorie pentru stocare.

Fișierele informatice de comprimare produsă prin eliminarea redundanței în diverse moduri, de exemplu prin simplificarea excepțiile de cod sunt o reprezentare constantă de biți sau repetarea de caractere sau simboluri într-o secvență repetată ca un factor de repetiție și simbolul corespunzător. Se aplică diferite algoritmi de compresie astfel de informații.

Poate fi comprimat ca unul sau mai multe fișiere într-o formă comprimată este plasată în așa-numitul dosar arhivă sau arhivă.

Fișierul arhivă - un fișier special organizat, care conține unul sau mai multe fișiere în formă comprimată sau necomprimat și informații oficiale despre numele de fișier, data și ora de creare sau modificare, dimensiuni, etc.

Scopul dosarelor pachet furnizează, în general, o destinație de plasare mai compact de informații de pe disc, reducând timpul și costurile, respectiv, transmiterea de informații prin intermediul canalelor de comunicare în rețele de calculatoare. În plus, ambalajul într-un singur fișier grup de fișier arhivă simplifică foarte mult transferul lor de la un calculator la altul, reducerea timpului pentru a copia fișiere pe disc, pentru a proteja informațiile împotriva accesului neautorizat, ajută la protejarea împotriva virușilor de calculator.

Compresia de fișiere caracterizate prin coeficientul Kc determinată ca raportul dintre volumul Vc fișierul comprimat la fișierul sursă de volum nul exprimat în procente:

Există două modalități principale de compresie: statistică și vocabular. Majoritatea metodelor statistice utilizate de codificare aritmetică, cea mai bună metodă este dicționarul utilizat Lempel-Ziv. Comprimarea statistică a fiecărui caracter este atribuit un cod bazat pe probabilitatea apariției acestora în text. Foarte simboluri probabile sunt coduri scurte, și vice-versa. În metoda dicționar, un grup de caractere consecutive, sau „fraze“ se înlocuiesc cu codul. Înlocuit fraza poate fi găsit într-un „dicționar“. Recent, sa demonstrat că orice sistem practic de compresie dicționar poate fi redusă la schema de compresie statistică corespunzătoare, și a găsit un algoritm comun de conversie de vocabular în metoda statistică. Prin urmare, atunci când caută cele mai bune promisiuni de codificare entropia de compresie pentru a fi cele mai productive, cu toate că vocabularul și tehnicile sunt atractive pentru viteza

Raportul de compresie depinde de software-ul utilizat, precum și metoda de compresie de tip fișierul sursă. Cel mai bine-comprimat imagini fișiere imagine, fișiere text, fișiere de date, pentru care raportul de compresie poate fi de până la 5-40% mai puține fișiere comprimate program executabile și fișiere imagine - 60-90%. Aproape nu comprimat fișierele arhivă. Programul de arhivare diferite metode de compresie utilizate, care afectează, prin urmare, gradul de compresie.

Arhivare (ambalaj) - spațiu de fișiere (descărcare) sursă într-un fișier arhivă într-o formă comprimată sau necomprimat.

Unzip (decompresie) - fișier proces de recuperare din arhiva în exact forma în care au fost nevoiți să descarce arhiva. Când despachetați fișierele recuperate din arhivă și plasate pe disc sau în memorie;

Programele implementate de ambalare și despachetarea fișiere, numite programe - arhivator.

Volumul mare de fișiere arhivate pot fi plasate pe mai multe discuri (volume). Aceste fișiere sunt numite cu mai multe volume. Tom - face parte dintr-o arhivă multivolum. Crearea unei arhive de mai multe părți, puteți scrie pe partea mai multor dischete.

1.1. Principalele tipuri de programe archivers

utilizat în prezent mai multe programe de duzină - arhive, care diferă în lista funcțiilor și a parametrilor de funcționare, dar cel mai bun dintre ele au caracteristici similare. pot fi identificate dintre cele mai populare programe:

ARJ, PKPAK, LHA, ICE, HYPER, ZIP, PAK, ZOO, EXTINDEȚI, dezvoltat în străinătate, precum și AIN și RAR, dezvoltat în România. De obicei, ambalare și fișiere despachtarea rula același program, dar în unele cazuri, acest lucru se face prin diferite programe, cum ar fi programul produce fișiere de pachete RKZIR, un PKUNZIP - decomprima fișiere.

Programul - Archiver poate crea astfel de fișiere și pentru a extrage din ele fișierele pe care le conțin nu are nevoie de nici - sau program, la fel ca fișierele de rezervă pot conține un program de decompresie. Aceste fișiere zip cu auto-extragere sunt numite.

Fișierul arhivă cu auto-extragere - o pornire, un modul executabil care este capabil de fișiere de auto-dezarhivare sunt în ea fără a utiliza programul - arhivator.

Auto-extragere arhiva numit SFX - arhivă (auto - extragere). Arhivele de acest tip în MS DOS frecvent creat în formă de EXE - fișier.

Multe din program - arhivator despachetat fișiere, offloading pe disc, dar sunt cele care sunt concepute pentru a crea un executabil ambalate (de program). Ca urmare a unui astfel de pachet este creat fișierul de program cu același nume și extensie, care atunci când este încărcat în memoria despachetează și începe imediat. Cu toate acestea, poate inversa fișierul program de transformare în formatul despachetat. Aceste arhive sunt programul PKLITE, LZEXE, UNP.

Extinderea programului, o parte din utilități MS DOS și sistemul de operare Windows shell este folosit pentru a decomprima fișiere de software care sunt furnizate de Microsoft.

Programul - Arhivator RAR, și AIN, în plus față de modul de funcționare normală a compresiei sunt modul solid, care creează fișiere cu raportul de compresie ridicat și structura specială a organizației. În aceste arhive toate fișierele sunt comprimate ca un flux de date unică, și anume, Zona de căutare de secvențe repetitive de caractere este întreaga colecție de fișiere încărcate în arhivă, astfel încât despachetarea fiecare fișier, în cazul în care acesta nu este primul asociat cu procesarea celuilalt. Arhivele de acest tip este de preferat să se folosească pentru arhivarea unui număr mare de fișiere similare.

1.2. Metode de gestionare a programului - Archiver

Gestionarea programului - arhivator făcut una din cele două moduri:

# 9472; folosind linia de comandă, care este format dintr-o centrare echipa, care conține numele programului - arhivator, echipa de management și setările cheie, precum și numele arhivei și fișierul original; un astfel de control ARJ arhive caracteristice, AIN, ZIP, CANCER, LHA, etc.;

# 9472; folosind shell built-in și casetele de dialog care apar după începerea programului, și permite un control cu ​​ajutorul tastelor de meniu și funcționale, care face mediu de lucru mai confortabil utilizator. Un astfel de control este de program - arhivator RAR.

Urmați desemnat programul său de acțiune - arhivator afișează de obicei, protocolul său de lucru. Toate moderne de program - ecrane de ajutor facilitate arhivator care sunt numite atunci când introduceți un program de linie de comandă doar un singur nume sau un nume cu o cheie. Ajutor poate fi scurt - pe un singur ecran sau extins - câteva. Multe archivers au ecrane de ajutor cu exemple de desen comenzi pentru a efectua diverse operații. Informații de ajutor este de obicei afișat în limba engleză sau o altă limbă de circulație internațională.

Acest algoritm este extrem de simplu de implementat. codificare pe loturi - de la lungime Codificare Engleză Run (RLE) - una dintre cele mai vechi și cele mai simple scheme algoritmi de backup. Image este tras într-un lanț de octeți de linii raster. compresie RLE Inutil apare datorită faptului că în imaginea originală se găsesc lanț de octeți identici. Înlocuindu-le cu o pereche de <счетчик повторений, значение> reduce redundanța datelor.

Algoritmul RLE se bazează pe ideea de a identifica secvențe de date duplicat și înlocuirea acestora cu o structură simplă, în care este indicat un cod de date și factorul de repetiție. De exemplu, să se dea o secvență de date, care este supusă la compresiune:

1 1 1 1 2 2 3 4 4 4

Algoritmul RLE se propune să-l înlocuiască cu următoarea structură: 1 4 2 2 3 1 4 3, în cazul în care primul număr al fiecărei perechi de numere - un cod de date, iar al doilea - factorul de repetiție. Dacă se administrează 1 octet, întreaga secvență ar ocupa 10 octeți de memorie, în timp ce secvența de ieșire (versiunea comprimată) se va ocupa 8 octeți de memorie pentru stocarea fiecărui element de date a secvenței de intrare. Se înțelege că algoritmul RLE va da cel mai bun efect de compresie, la o mai mare lungime repetarea secvenței de date.

În cazul exemplului de mai sus, dacă secvența de intrare va fi de forma: 1 1 1 1 1 1 3 4 4 4, raportul de compresie este egală cu 60%. În acest sens, o mai mare eficiență RLE algoritm obținut prin comprimarea datelor de imagine (în special pentru imagini monocrome).

2.1. algoritmul de decompresie

Algoritmul de decompresie este după cum urmează:

pentru (i = 1 la contor)

În acest algoritm, unitățile de semnalizare contra (contor) sunt în partea superioară a doi biți ale fișierului de citire:

Prin urmare, 6 biți rămași sunt cheltuite pe un contor care poate lua valori de la 1 la 64. Șirul repetativ de octeți 64, ne întoarcem la doi octeți, adică, comprima 32 de ori.

Algoritmul este conceput pentru grafica de afaceri - imagini cu zone mari de repetarea culorii. Situația când fișierul crește, acest algoritm simplu, nu este atât de rare. Acesta poate fi ușor obținut prin aplicarea de codificare a lungimii de execuție pentru fotografii color prelucrate. Pentru a mări imaginea de două ori, trebuie aplicată imaginii în care valorile tuturor pixelilor perechilor binare 11000000 și consecutive mai mari nu sunt repetate.

Acest algoritm este implementat în formatul PCX.

2.3. Caracteristici RLE algoritm:

rapoarte de comprimare de 32, 2, 0,5. (Cel mai bun, în medie, cele mai grave rapoarte)

Image Class: Se concentrează pe algoritmul imaginii cu un număr mic de culori: de afaceri și grafică științifice.

Simetria: Aproximativ unul.

Caracteristici: Pe partea pozitivă a algoritmului, probabil, poate fi atribuită numai faptului că nu necesită memorie suplimentară atunci când arhivarea și dezarhivarea și să fie difuzate rapid. O interesantă codificare de lung-metraj este că gradul de rezervă pentru unele imagini pot fi îmbunătățite în mod substanțial numai prin schimbarea ordinii de culori din paleta de imagine.

  1. Dezvoltarea programului pentru a dezarhiva fișiere create de software-ul ALGORITMURLE

str1 string = textBox1.Text / * codificata parte * /, str = "", ch = "", s = "", symb = "";

pentru (i = 0; i ch = str1.Substring (i, 1); // curent I caracter

în cazul în care ( "0123456789" .Contains (ch)) / * În cazul în care este caracter ch o cifră * /

pentru (j = i; j dacă ( "0123456789" .Contains (str1.Substring (j, 1)))

s + = str1.Substring (j, 1);

symb = str1.Substring (j, 1); // obține litera

pentru (j = 0; j

Decodificarea de căutare șir codificat este realizată printr-un număr care este numărul de repetiții simbol

și simbolul însuși.

Și astfel, vom obține șirul codificat în caseta de text „TextBox1“, scrie și textul rezultat în variabila „str1“.

De fiecare dată prin bucla care se desfășoară până nu a atins ultimul caracter este înregistrat în variabila curent „ch“

simbol și dacă acesta este un număr, numere de căutare în urma reciproc. Astfel, secvența găsită

cifre va fi un număr care este un număr de simbol repetări vine imediat dupa aceasta

secvență. La sfârșitul unei variabile șir de caractere „str“ scrie scrisoarea de câte ori este valoarea numărului.

Există mai mulți algoritmi de arhivare si despachetare. Fiecare dintre ei în propriul său bine. Fiecare dintre ele este cel mai bun tip de arhivă anumite date.

Considerăm algoritmul RLE, acesta este aplicația cea mai frecventă în arhivare tipuri de date de imagine.