Arhivele verifică fișierul pentru compresibilitate, tipuri de fișiere incompresibile

Una dintre sarcinile diferitelor agenți de împachetare și arhivare este verificarea fișierului comprimabil pentru compresibilitate. Cu alte cuvinte, verificarea dacă merită să vă petreceți timpul comprimând un dosar incompresibil sau lăsându-l neschimbat.

Luați în considerare algoritmul de verificare a fișierului pentru compresibilitate. Algoritmul este implementat de instrumentele obișnuite Delphi 5, utilizând funcțiile FileOpen, ReadFile și FileClose.

Teoretic, un fișier incompressible este un fișier ale cărui frecvențe octete de la 0 la 255 se află în aproximativ același interval de valori. Ie frecvența fiecărui simbol este de aproximativ 0,39%. Calculele sunt efectuate pe fișiere, lungimea cărora este mai mare de 10 KB. Dacă ne sumăm toate frecvențele, atunci obținem 100% ca rezultat.

Fișierele comprimate sunt fișiere a căror frecvență este foarte mare. De exemplu, în fișiere audio (format WAV), frecvența unor octeți atinge zeci de procente, iar altele - până la sute de procente. În fișierele text, unii octeți nu apar deloc.

Deci, ia în considerare pașii de determinare a compresibilității unui fișier:
    Citirea unui fișier în memorie
    Numărarea frecvențelor caracterului (fișier dicționar)
    Concluzii despre compresibilitatea unui dosar

Citirea unui fișier în memorie:

Numărarea frecvențelor caracterului:

După acest pas în fiecare matrice de celule, "a" reprezintă numărul de caractere întâlnite, al cărui cod este egal cu numărul celulei.

Dacă rezumați valorile tuturor celulelor din matrice, obțineți un număr egal cu dimensiunea fișierului.

Verificați datele deja comprimate:

Variabilele x1 și x2 indică intervalul procentual în care are loc comparația. Dacă numărul de caractere cu o frecvență din acest interval procentual este mai mare de o pătrime din toate caracterele, atunci puteți spune că fișierul a trecut deja procedura de compresie.

Rezultatele testării algoritmului:

Această procedură de comparare a trecut testul pe mai multe tipuri de fișiere. Notă: opțiunea "nouă comprimare" indică o nouă dimensiune a fișierului după compresia acesteia de către arhivatorul WinRar cu raportul maxim de compresie.
    Arhiva RAR (187 KB) este comprimată (compresie nouă = 187 KB)
    Fișierul WAV (306 KB) nu este comprimat (compresie nouă = 187 KB)
    Fișierul BMP (938 KB) nu este comprimat (compresie nouă = 259 KB)
    Fișierul DOC (62 KB) nu este comprimat (compresie nouă = 13 KB)
    Fișier JPG (167 KB) este comprimat (compresie nouă = 168 KB)
    Fișierul MP3 (652 KB) este comprimat (comprimare nouă = 639 KB)
    Fișierul TXT (131 KB) nu este comprimat (compresie nouă = 17 KB)
    Fișierul HLP (337 KB) nu este comprimat (compresie nouă = 104 KB)
    Fișierul PDF (1763 KB) nu este comprimat (compresie nouă = 1558 KB)
    Fișierul EXE (395 KB) nu este comprimat (compresie nouă = 168 KB)
    Fișier EXE (ambalat cu ASPack) (177 KB) comprimat (compresie nouă = 172 KB)

După cum puteți vedea din experimente, algoritmul afișează cu succes fișiere comprimabile și nu foarte comprimabile.

Apache este un software cross-platform care aparține clasei de servere http. Este susținută de o varietate de sisteme de operare: Windows, Linux, MacOS etc. Unul dintre factorii cheie în utilizarea acestui server web este flexibilitatea configurației și fiabilitatea operațiunilor. Apache include multe module suplimentare care vă permit să lucrați cu diverse baze de date, să controlați autentificarea utilizatorilor etc.

Articole similare