Format Arsip ZIP

Di era digital, di mana data adalah raja dan efisiensi penyimpanan adalah hal terpenting, arsip ZIP tetap menjadi solusi yang andal dan ada di mana-mana untuk mengompresi dan mengatur file.

Tentang Informasi Arsip Zip

ZIP adalah format arsip yang dapat menampung satu atau beberapa file dan folder terkompresi lossless, dengan atau tanpa enkripsi. ZIP adalah format paling populer yang dikenal selama lebih dari tiga puluh tahun, dan didukung di hampir semua sistem operasi modern. Format ini juga diperluas ke beberapa format lain seperti JAR dan OpenDocument.

Info Riwayat Format File Arsip Zip

Spesifikasi format ZIP pertama diterbitkan pada tahun 1989. Penulis ide ZIP adalah Phil Katz dan Gary Conway. Ini langsung sukses karena efisiensinya dalam mengurangi ukuran file, membuatnya lebih mudah untuk menyimpan dan mengirimkan file melalui koneksi internet yang lambat dan kapasitas penyimpanan yang terbatas pada masa itu. Sejak tahun 1993, ini mendukung metode kompresi Deflate yang paling umum. Enkripsi AES yang kuat diperkenalkan pada tahun 2003. Meskipun sudah cukup tua, standar ini belum menjadi fosil - sedang dikembangkan secara aktif saat ini. Maka pada tahun 2020 diperluas dengan metode kompresi Zstandard, MP3 dan XZ.

Struktur Arsip ZIP

Arsip ZIP dirancang dalam struktur hierarki ini untuk menyimpan dan mengatur file terkompresi secara efisien sekaligus memungkinkan akses mudah ke masing-masing file dalam arsip. Setiap entri arsip dikompresi secara terpisah, bahkan mungkin dengan metode kompresi dan enkripsinya sendiri. Entri di dalam arsip memiliki header sebelumnya dengan metadata file asli. Daftar isi berada di akhir file. Pendekatan seperti ini memungkinkan pembuatan arsip self-extracting (SFX), yang juga tetap merupakan arsip ZIP yang valid karena bagian yang dapat dieksekusi berada di awal file SFX.

Metode Kompresi Zip

ZIP modern memungkinkan kompresi data dengan algoritma Deflate, Deflate64™, BZIP2, LZMA, XZ, PPMd, Zstandard. File juga dapat disimpan tanpa kompresi. Yang paling umum adalah Deflate, yang merupakan default pada alat pengarsipan apa pun. Ada juga algoritma untuk kompresi file tertentu secara lossless: MP3, JPEG, WAV. Aspose.ZIP sepenuhnya mendukung metode Deflate, Deflate64™, Bzip2, LZMA, XZ, PPMd dan Zstandard. Ini memungkinkan ekstraksi audio terkompresi WavPack.

Operasi yang Didukung Arsip Zip

Menggunakan Aspose.ZIP, Anda dapat menangani arsip ZIP dengan berbagai cara. Anda dapat membuat arsip, menambahkan entri ke arsip yang ada tanpa mengemas ulang, menghapus entri dari arsip yang ada tanpa mempengaruhi sisa arsip, dan mengekstrak entri sembarang atau seluruh arsip. Anda dapat mengenkripsi dan mendekripsi setiap entri secara terpisah dengan algoritma enkripsi AES lama atau modern. Aspose.ZIP mampu membuat arsip ZIP self-extracting dan multi-volume.

File zip - Struktur Internal

Seperti disebutkan, direktori pusat, yaitu daftar isi, terletak di bagian akhir arsip ZIP. Direktori ini bertindak sebagai indeks, mencantumkan semua entri file dalam arsip beserta posisinya dalam arsip. Header entri dapat mencakup waktu pembuatan dan modifikasi, atribut sistem file, nama file, dan komentar. Header entri dapat diperluas dengan bidang tambahan khusus untuk menyimpan metadata khusus. Dimungkinkan untuk menyertakan header Zip64 untuk mendukung lebih dari 65.535 entri per arsip. Ukuran maksimum arsip ZIP dengan ekstensi Zip64 adalah 264−1 byte. Arsip ZIP dapat dipecah menjadi beberapa file. Dalam hal ini direktori pusat menyimpan offset setiap volume untuk akses cepat ke entri tertentu.

File zip - Struktur Internal

Popularitas Arsip dan Dukungan Zip

ZIP adalah format arsip nomor satu. Arsip ZIP sangat dikenal dan didukung secara luas sehingga berbagai aplikasi perangkat lunak, termasuk pengelola file populer seperti Windows Explorer, macOS Finder, dan alat sumber terbuka seperti 7-Zip dan WinRAR , memberikan dukungan asli untuk membuat dan mengekstrak file ZIP. Dukungan ini meluas ke layanan penyimpanan cloud, klien email, dan bahkan perangkat seluler.

Contoh Penggunaan File Zip

Arsip zip adalah format file yang ada di mana-mana untuk mengompresi dan mengatur data, menjadikannya penting dalam berbagai aplikasi perangkat lunak. Pengoperasian dengan arsip melalui .NET memberdayakan pengembang untuk bekerja dengan file Zip dengan mudah. Dalam contoh kode berikut, kami akan mempelajari kemampuan operasi dengan arsip Zip, mendemonstrasikan cara membuat Zip baru arsip dan mengekstrak file secara efisien dari yang sudah ada. Contoh-contoh ini akan membantu Anda memanfaatkan kemampuan perpustakaan ini untuk mengelola arsip Zip dengan lancar di proyek .NET Anda

Create Zip file via .NET

Compose ZIP archive with two entries added by their paths.:

using (var archive = new Archive())
{
    archive.CreateEntry("entry_name1.dat", "input_file1.dat");
    archive.CreateEntry("entry_name2.dat", "input_file2.dat");
    archive.Save("result_archive.zip");
}

How to UnZIP files in C#

Steps: Unzip File to Folder in C#

  • Create an instance of Archive class based on your zip file.
  • Unzip the zip file using Archive.ExtractToDirectory method to your folder.
using (var archive = new Archive("input_archive.zip"))
{
    archive.ExtractToDirectory("outputDirectory");
}

Compressing Single File ZIP File

Steps: Compressing Single File in C#

  • Create a file stream with the desired name of your output zip file.
  • Create file stream of the data file to be compressed and encrypted.
  • Create an instance of Archive class and pass to it an instance of ArchiveEntrySettings class with AesEcryptionSettings instance, specifying the password.
  • Add data file created in step 2 using Archive.CreateEntry method.
  • Compress and encrypt the data file using Archive.Save method and pass it the file stream created in step 1.
using (var zipFile = File.Open("EncrypedWithAES256.zip", FileMode.Create))
{
    using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
     {
           using (var archive = new Archive(new ArchiveEntrySettings(null, new  AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
           {
                  archive.CreateEntry("alice29.txt", source);
                  archive.Save(zipFile);
           }
      }
}

Deleting entries from existing archive

You do not have to repack whole archive when you only need to remove one entry from it. Steps:

  • Create a file stream with the desired name of your output zip file.
  • Create an instance of Archive class based on your zip file.
  • Delete the first file - the entry with zero index – from the archive.
  • Save the archive without excluded entry to output stream from step 1
using (FileStream outputZipFile = File.Open(withoutAnEntry.zip, FileMode.Create))
{
    using (Archive archive = new Archive(archive.zip))
    {
        archive.DeleteEntry(archive.Entries[0]);
        archive.Save(outputZipFile);
    }
}

Informasi tambahan tentang arsip Zip

Orang-orang telah bertanya

1. Apa alasan paling umum untuk mengompresi arsip zip?

Alasan paling umum untuk mengompresi Zip arsip adalah untuk mengurangi ukuran file demi penyimpanan, transmisi, dan pengorganisasian data yang efisien.

2. Mengapa zip disebut arsip?

Zip disebut sebagai arsip karena berfungsi sebagai pengikat digital, menggabungkan berbagai file dan direktori menjadi satu entitas terkompresi, mirip dengan cara arsip fisik menyimpan dan mengatur dokumen. Fungsi pengarsipan ini menyederhanakan penyimpanan dan transfer data dengan mengurangi jumlah file individual dan keseluruhan ruang penyimpanan yang diperlukan.

3. Bisakah virus menginfeksi zip?

Ya, virus berpotensi menginfeksi file dalam arsip Zip jika file itu sendiri terinfeksi. Meskipun format Zip itu sendiri pada dasarnya tidak berbahaya, format ini dapat menyimpan dan mengangkut file yang terinfeksi, sama seperti format file lainnya.