ZIP Arşiv Formatı

Verilerin kral olduğu ve depolama verimliliğinin en üst düzeyde olduğu dijital çağda, ZIP arşivleri, dosyaları sıkıştırmak ve düzenlemek için istikrarlı ve her yerde bulunan bir çözüm olarak kaldı.

Zip Arşivi Bilgileri Hakkında

ZIP, şifrelemeli veya şifrelemesiz bir veya daha fazla kayıpsız sıkıştırılmış dosya ve klasörü tutabilen bir arşiv formatıdır. ZIP, otuz yılı aşkın süredir bilinen ve neredeyse tüm modern işletim sistemlerinde desteklenen en popüler formattır. Bu format aynı zamanda JAR ve OpenDocument gibi diğer bazı formatlara da yayıldı.

Zip arşivi Dosya Formatı Geçmişi Bilgisi

ZIP’in ilk format spesifikasyonu 1989’da yayınlandı. ZIP fikrinin yazarları Phil Katz ve Gary Conway’di. Dosya boyutlarını azaltmadaki verimliliği, dosyaların yavaş internet bağlantıları ve o dönemin sınırlı depolama kapasiteleri üzerinden saklanmasını ve iletilmesini kolaylaştırması nedeniyle anında başarı elde etti. 1993’ten bu yana en yaygın Deflate sıkıştırma yöntemini desteklemektedir. Güçlü AES şifrelemesi 2003 yılında tanıtıldı. Oldukça eski olmasına rağmen standart fosilleşmedi ve günümüzde aktif olarak geliştiriliyor. Böylece 2020 yılında Zstandard, MP3 ve XZ sıkıştırma yöntemleriyle genişletildi.

ZIP Arşivinin Yapısı

ZIP arşivleri, sıkıştırılmış dosyaları verimli bir şekilde depolamak ve düzenlemek ve aynı zamanda arşiv içindeki ayrı dosyalara kolay erişim sağlamak için bu hiyerarşik yapıda tasarlanmıştır. Arşivin her girişi ayrı ayrı sıkıştırılır, hatta kendi sıkıştırma ve şifreleme yöntemiyle bile olabilir. Arşiv içindeki giriş, orijinal dosya meta verilerini içeren bir önceki başlığa sahiptir. İçerik tablosu dosyanın sonunda bulunur. Bu tür bir yaklaşım, kendi kendine açılan (SFX) arşivin oluşturulmasına olanak tanır; bu arşiv, SFX dosyasının en başında yer alan yürütülebilir kısım nedeniyle aynı zamanda geçerli bir ZIP arşivi olarak kalır.

Zip Sıkıştırma Yöntemleri

Modern ZIP, verilerin Deflate, Deflate64™, BZIP2, LZMA, XZ, PPMd, Zstandard algoritmalarıyla sıkıştırılmasına olanak tanır. Dosya ayrıca sıkıştırılmadan da saklanabilir. En yaygın olanı, herhangi bir arşivleme aracında varsayılan olan Deflate’dir. Belirli dosyaların kayıpsız sıkıştırılmasına yönelik algoritmalar da vardır: MP3, JPEG, WAV. Aspose.ZIP, Deflate, Deflate64™, Bzip2, LZMA, XZ, PPMd ve Zstandard yöntemlerini tam olarak destekler. WavPack sıkıştırılmış sesin çıkarılmasına izin verir.

Zip Arşivi Desteklenen İşlemler

Aspose.ZIP’i kullanarak ZIP arşivini çeşitli şekillerde yönetebilirsiniz. Arşiv oluşturabilir, yeniden paketlemeye gerek kalmadan mevcut arşive girdiler ekleyebilir, arşivin geri kalanını etkilemeden mevcut arşivdeki girdileri silebilir, isteğe bağlı girdileri veya arşivin tamamını çıkarabilirsiniz. Eski veya modern AES şifreleme algoritmasıyla her girişi ayrı ayrı şifreleyebilir ve şifresini çözebilirsiniz. Aspose.ZIP, kendiliğinden açılan ve çok ciltli ZIP arşivleri oluşturabilir.

Zip dosyası - İç Yapı

Söylendiği gibi içindekiler tablosu olan merkezi dizin ZIP arşivinin sonuna doğru yer alıyor. Bu dizin, arşivdeki tüm dosya girişlerini arşiv içindeki konumlarıyla birlikte listeleyen bir dizin görevi görür. Giriş başlıkları oluşturma ve değiştirme zamanlarını, dosya sistemi niteliklerini, dosya adını ve yorumu içerebilir. Giriş başlığı, özel meta verileri depolamak için özel ekstra alanla genişletilebilir. Arşiv başına 65.535'ten fazla girişi desteklemek için Zip64 başlıklarını eklemek mümkündür. Zip64 uzantılı ZIP arşivinin maksimum boyutu 264−1 bayttır. ZIP arşivi birkaç dosyaya bölünebilir. Böyle bir durumda, merkezi dizin, belirli bir girişe hızlı erişim için her birimin uzaklıklarını saklar.

Zip dosyası - İç Yapı

Zip Arşivinin Popülaritesi ve Desteği

ZIP bir numaralı arşiv formatıdır. ZIP arşivleri o kadar geniş çapta tanınmakta ve desteklenmektedir ki, Windows Explorer, macOS Finder gibi popüler dosya yöneticileri ve 7-Zip gibi açık kaynaklı araçlar da dahil olmak üzere çeşitli yazılım uygulamaları ve WinRAR , ZIP dosyalarının oluşturulması ve çıkarılması için yerel destek sağlar. Bu destek bulut depolama hizmetlerine, e-posta istemcilerine ve hatta mobil cihazlara kadar uzanır.

Zip Dosyalarını Kullanma Örnekleri

Zip arşivleri, verileri sıkıştırmak ve düzenlemek için her yerde bulunan bir dosya formatıdır ve bu da onları çeşitli yazılım uygulamalarında vazgeçilmez kılar. .NET aracılığıyla arşivlerle yapılan işlemler, geliştiricilerin Zip dosyalarıyla zahmetsizce çalışmasına olanak tanır. Aşağıdaki kod örneklerinde, Zip arşivi ile yapılan işlemlerin yeteneklerini inceleyerek yeni Zip oluşturma arşivlerinin nasıl oluşturulacağını ve dosyaların verimli bir şekilde ayıklanacağını göstereceğiz. mevcut olanlar. Bu örnekler, .NET projelerinizde Zip arşivlerini sorunsuz bir şekilde yönetmek için bu kitaplığın yeteneklerinden yararlanmanıza yardımcı olacaktır.

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);
    }
}

Zip arşivleri hakkında ek bilgi

İnsanlar soruyor

1. Bir zip arşivini sıkıştırmanın en yaygın nedeni nedir?

Zip sıkıştırmanın arşivinin en yaygın nedeni, verilerin verimli şekilde depolanması, iletilmesi ve düzenlenmesi için dosya boyutunun küçültülmesidir.

2. Zip’e neden arşiv adı veriliyor?

Zip, fiziksel arşivlerin belgeleri depolama ve düzenleme biçimine benzer şekilde, çeşitli dosya ve dizinleri tek bir sıkıştırılmış varlıkta bir araya toplayan dijital bir ciltleyici görevi gördüğü için arşiv olarak anılır. Bu arşivleme işlevi, tek tek dosyaların sayısını ve gereken toplam depolama alanını azaltarak veri depolamayı ve aktarımını basitleştirir.

3. Virüs zip’e bulaşabilir mi?

Evet, dosyalara virüs bulaşmışsa, virüsler Zip arşivindeki dosyalara da bulaşabilir. Zip formatının kendisi doğası gereği zararlı olmasa da, tıpkı diğer dosya formatları gibi, virüslü dosyaları saklayabilir ve taşıyabilir.