LZMA: il nuovo algoritmo di compressione

Tradotto automaticamente da Deepl

Ogni volta che si scambiano file, si procede sempre a comprimerli prima di inviarli. Da 4D v18 sono disponibili due comandi che consentono di creare e leggere un archivio ZIP utilizzando l’algoritmo di compressione zip standard.

Con 4D V19 R3, il comando Zip Create Archive supporta un nuovo algoritmo di compressione: LZMA. Il vantaggio di questo algoritmo è che crea archivi più piccoli rispetto all’algoritmo di compressione zip standard. Scopriamone di più!

Che cos’è LZMA?

LZMA è l’acronimo di Lempel-Ziv-Markov chain algorithm. LMZA è un algoritmo di compressione senza perdite creato da Igor Pavlov. Questo algoritmo di compressione dei dati utilizza uno schema di compressione a dizionario simile all’algoritmo LZ77 pubblicato da Abraham Lempel e Jacob Ziv.

Come si usa?

È possibile passare un oggetto“zipArchive” al comando ZIP Create Archive per personalizzare il proprio zip. Questo permette di scegliere l’algoritmo di compressione, l’algoritmo di crittografia e alcune altre opzioni. Leggete la documentazione per maggiori dettagli.

Per l’algoritmo di compressione, è possibile impostare l’attributo “compressione” su:

  • Compressione ZIP Nessuna
  • Compressione ZIP Standard
  • Compressione ZIP LZMA
  • Compressione ZIP XZ

Per il livello di compressione, si può impostare l’attributo “level” tra 1 e 10.

Ecco un esempio che comprime una cartella usando l’algoritmo LZMA:

var $zip; $status: Object
var $destination : 4D.File
$zip :=New object
$zip .files:=Nuova raccolta
$zip .files.push(Folder(fk documents folder).cartella("Archivio 2020"))
$zip .
compression:=ZIP Compression LZMA
$zip.level:=4
$destination :=Folder(fk desktop folder).file("Archivio2020.zip")
$status :=ZIP Create archive($zip; $destination)

Ecco il risultato ottenuto su un archivio di quasi 2 GB contenente 1800 immagini:

A voi! Non esitate a condividere i vostri commenti e le vostre impressioni sul forum.

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.