Kdykoli si vyměňujeme soubory, vždy před odesláním procházíme rituálem komprese souborů. Od verze 4D v18 jsou k dispozici dva příkazy, které umožňují vytvořit a přečíst archiv ZIP pomocí standardního kompresního algoritmu zip.
S 4D V19 R3. Zip Create Archive příkaz podporuje nový kompresní algoritmus: LZMA. Výhodou tohoto algoritmu je, že vytváří menší archivy než standardní kompresní algoritmus zip. Pojďme se dozvědět více!
Co je to LZMA?
LZMA je zkratka pro Lempel-Ziv-Markovův řetězový algoritmus. LMZA je bezeztrátový kompresní algoritmus vytvořený Igorem Pavlovem. Tento algoritmus komprese dat používá slovníkové kompresní schéma podobné algoritmu LZ77, který publikovali Abraham Lempel a Jacob Ziv.
Jak jej používat?
Příkazu můžete předat objekt„zipArchive„. ZIP Create Archive příkazu a přizpůsobit si tak formát zip. Ten umožňuje zvolit kompresní algoritmus, šifrovací algoritmus a některé další možnosti. Přečtěte si dokumentaci, kde najdete další podrobnosti.
Pro kompresní algoritmus můžete nastavit atribut „komprese“ na:
- ZIP Komprese žádná
- Komprese ZIP Standard
- Komprese ZIP LZMA
- Komprese ZIP XZ
Pro úroveň komprese můžete nastavit atribut „level“ v rozsahu 1 až 10.
Zde je příklad, který komprimuje složku pomocí algoritmu LZMA:
var $zip $status : Object
var $destination : 4D.File
$zip :=New object
$zip .files:=Nová kolekce
$zip .files.push(Folder(fk documents folder).složka("Archiv 2020"))
$zip .compression:=ZIP Compression LZMA
$zip.
level:=4
$destination :=Folder(fk desktop folder).file("Archive2020.zip")
$status :=ZIP Create archive($zip; $destination).
Zde je výsledek získaný na archivu o velikosti téměř 2 GB obsahujícím 1800 obrázků:
Zpět na vás! Neváhejte se podělit o své názory a dojmy na fóru.