7z

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
7z
7zip arhivă icon.svg
Extensie .7z
Tip MIME application/x-7z-compressed
Dezvoltat de Igor Pavlov
Licență LGPL
Tip Comprimarea datelor
Comprimare fara pierderi
Formatul deschis ? Da
Site-ul web 7-zip.org

7z este un format de fișier de arhivă comprimat care acceptă diferite filtre de compresie, criptare și preprocesare a datelor. Formatul 7z a apărut inițial implementat în programul de arhivare 7-Zip și este disponibil gratuit publicului în condițiile licenței GNU Lesser General Public License [1] . LZMA SDK 4.62 a fost lansat în domeniul public în decembrie 2008; cea mai recentă versiune disponibilă a 7-Zip și LZMA SDK este ora 19.00 (21 februarie 2019 [2] ). Tipul MIME este application/x-7z-compressed . Specificația oficială a formatului 7z este distribuită împreună cu codul sursă 7-zip și poate fi găsită în documentul / subdirectorul codului sursă.

Caracteristici

Formatul 7z oferă următoarele caracteristici principale [3] :

  • Deschidere: o arhitectură modulară permite stivuirea oricărui compresor, convertor sau metodă criptografică.
  • Raport de compresie ridicat (depinde de metoda de compresie utilizată).
  • Criptare puternică Rijndael / AES-256 .
  • Suportă fișiere mari (până la aproximativ 16 exabytes ).
  • Suport solid pentru compresii în care mai multe fișiere de același tip sunt comprimate într-un singur flux pentru a profita de repetarea fișierelor similare.
  • Comprimarea și criptarea structurilor de arhivă.

Arhitectura deschisă a acestui format permite dezvoltarea altor metode de compresie care pot fi adăugate la standard în viitor.

Suporturi

Filtre de compresie

  • LZMA: O variantă a algoritmului LZ77 , modificată pentru a obține o compresie mai bună, o viteză mai mare de decompresie și o utilizare mai mică a memoriei. [4] Își ia numele de la inițialele autorilor ( algoritmul Lempel-Ziv-Markov ) și folosește un dicționar glisant de lungime nedeterminată (până la 4 GB) pentru eliminarea șirurilor duplicate. Faza LZ este urmată de codificarea entropiei utilizând lanțul Markov pe baza codificatorului de gamă și a arborilor liniari.
  • LZMA2: versiunea modificată a LZMA, oferă următoarele avantaje [5] :
    • suport multithreading mai bun
    • o compresie mai bună a datelor deja comprimate
  • Bzip2: algoritmul standard Burrows-Wheeler Transform . Bzip2 folosește două transformări BWT reversibile, apoi folosește transformarea „mută în față” cu codificare Huffman pentru reducerea simbolurilor.
  • PPMd: PPMdH din 2002 al lui Dmitry Shkarin (PPMII / cPPMII) cu modificări minore. PPMII este o versiune îmbunătățită a algoritmului de compresie PPM din 1984.
  • DEFLATE: algoritm standard bazat pe 32kb LZ77 (în prezent LZSS) și codare Huffman. DEFLATE se găsește în multe formate de fișiere, inclusiv ZIP , gzip , PNG și PDF .

O serie de instrumente de compresie numite AdvanceCOMP conține o copie a codificatorului DEFLATE din implementarea 7-Zip, aceste utilități sunt adesea utilizate pentru a efectua comprimări ulterioare ale fișierelor gzip , ZIP , PNG sau MNG existente .

Filtre de pre-procesare

LZMA SDK este livrat cu preprocesoare BCJ, BCJ2, astfel încât să se realizeze o compresie mai mare cu etapele ulterioare de preprocesare. Pentru x86, ARM, PowerPC (PPC) IABY și thumbARM, țintele de salt sunt normalizate înainte de comprimare prin schimbarea poziției lor în valori absolute. Pentru x86 acest lucru înseamnă că salturi succesive, apeluri, salturi condiționale (dar nu salturi mici) sunt convertite din stilul limbajului mașinii „sări 1655 octeți înapoi” în notația „sări la adresa 5554”.

  • BCJ, Convertor pentru executabile pe 32 de biți (x86). Normalizați adresele țintă ale hameiului și apelurilor din apropiere de la distanțe relative la destinații absolute.
  • BCJ2, preprocesor pentru executabile pe 32 de biți (x86). BCL2 este o dezvoltare a BCJ, adăugând instrucțiuni suplimentare de salt / apel la x86. Saltul închis, apelul închis, închiderea obiectivelor salt condițional sunt împărțite și comprimate separat într-un alt flux.
  • Codificare Delta, filtru Delta, preprocesor de bază pentru date multimedia.

Criptare

Formatul 7z acceptă criptarea cu algoritmul AES cu o cheie de 256 de biți. Cheia este generată dintr-o parolă furnizată de utilizator utilizând un algoritm bazat pe algoritmul Hash (SHA-256). SHA-256 este executat de 2 18 (262144) ori: acest lucru provoacă o întârziere semnificativă, pe computerele lente, înainte de a începe compresia sau extracția. Această tehnică se numește Key Strengthening și este utilizată pentru a face un atac cu forță brută împotriva fișierului criptat mai dificil (și consumator de timp). [6] Formatul 7z oferă, de asemenea, posibilitatea de a cripta numele fișierelor într-o arhivă.

Limitări

Formatul 7z nu stochează permisiunile UNIX și acest lucru poate fi inadecvat pentru arhivele de rezervă. Un truc este de a converti datele într-un flux de biți în format tar înainte de a comprima cu 7z. Formatul 7z nu permite extragerea unor fișiere corupte: de exemplu, dacă aveți primul segment al unei serii de fișiere 7z, 7z nu poate da startul fișierelor din arhivă, trebuie să aștepte descărcarea tuturor părților. De asemenea, formatului 7z îi lipsește jurnalul de recuperare, care poate fi o problemă atunci când există o corupție limitată a fișierelor.

Notă

  1. ^ 7-zip Licență de utilizare și distribuție ( TXT ), la 7-zip.org .
  2. ^ (EN) Istoricul modificărilor 7-zip (TXT), pe 7-zip.org. Adus pe 5 februarie 2019 .
  3. ^ 7-Zip , la www.7-zip.org . Adus pe 29 decembrie 2019 .
  4. ^ Compresie LZMA ( TXT ), pe github.com .
  5. ^ 7-Zip / Discuție / Discuție deschisă: LZMA vs. LZMA2 , pe sourceforge.net . Adus pe 29 decembrie 2019 .
  6. ^ 7z Format , la www.7-zip.org . Adus pe 29 decembrie 2019 .

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT