Apa itu file LZMA?
File dengan ekstensi .lzma adalah file arsip terkompresi yang dibuat menggunakan metode kompresi LZMA (Lempel-Ziv-Markov chain Algorithm). Ini terutama ditemukan/digunakan pada sistem operasi Unix dan mirip dengan algoritme kompresi lain seperti ZIP untuk meminimalkan ukuran file. LZMA adalah format file lawas, yang sedang atau telah digantikan oleh format .xz. Jenis MIME dari format .lzma adalah `application/x-lzma’. Format file ini dirancang oleh Igor Pavlov untuk digunakan di LZMA SDK.
Format File LZMA
File LZMA terdiri dari dua bagian utama:
- Tajuk
- Data Terkompresi
Tajuk LZMA
File LZMA memiliki header 13-byte yang diikuti oleh data terkompresi LZMA. Tajuk LZMA terdiri dari:
- Properti
- Ukuran Kamus
- Ukuran Tidak Terkompresi
Properti Header LZMA
Bidang Properti berisi tiga properti. Singkatan diberikan dalam tanda kurung, diikuti dengan rentang nilai properti. Lapangan terdiri dari
- jumlah bit konteks literal (lc, [0, 8]);
- jumlah bit posisi literal (lp, [0, 4]); dan
- jumlah bit posisi (pb, [0, 4]).
Ukuran Kamus LZMA
Ini disimpan sebagai integer endian kecil 32-bit yang tidak ditandatangani dengan nilai mulai dari 2^n dan 2^n + 2^(n-1). Util LZMA dapat mendekompres file dengan ukuran kamus apa pun.
Ukuran Tidak Terkompresi
Ukuran Tidak Terkompresi disimpan sebagai bilangan bulat endian kecil 64-bit yang tidak ditandatangani. Nilai khusus 0xFFFF_FFFF_FFFF_FFFF menunjukkan bahwa Ukuran Tidak Terkompresi tidak diketahui. Nilai diwakili oleh End of Payload Marker (*) jika dan hanya jika Uncompressed Size tidak diketahui.