ज़िप पुरालेख प्रारूप

डिजिटल युग में, जहां डेटा राजा है और भंडारण दक्षता सर्वोपरि है, ज़िप अभिलेखागार फ़ाइलों को संपीड़ित करने और व्यवस्थित करने के लिए एक दृढ़ और सर्वव्यापी समाधान बना हुआ है।

ज़िप पुरालेख सूचना के बारे में

ज़िप एक संग्रह प्रारूप है जो एन्क्रिप्शन के साथ या उसके बिना एक या कई दोषरहित संपीड़ित फ़ाइलों और फ़ोल्डरों को रख सकता है। ज़िप सबसे लोकप्रिय प्रारूप है जो तीस से अधिक वर्षों से ज्ञात है, और लगभग हर आधुनिक ऑपरेटिंग सिस्टम पर समर्थित है। यह प्रारूप JAR और OpenDocument जैसे कुछ अन्य प्रारूपों तक भी विस्तारित हुआ।

ज़िप-संग्रह फ़ाइल स्वरूप इतिहास जानकारी

ज़िप का पहला प्रारूप विनिर्देश 1989 में प्रकाशित हुआ था। ज़िप विचार के लेखक फिल काट्ज़ और गैरी कॉनवे थे। फ़ाइल आकार को कम करने, धीमे इंटरनेट कनेक्शन और उस युग की सीमित भंडारण क्षमताओं पर फ़ाइलों को संग्रहीत और प्रसारित करना आसान बनाने में इसकी दक्षता के कारण यह तत्काल सफलता थी। 1993 से यह सबसे आम डिफ्लेट संपीड़न विधि का समर्थन करता है। मजबूत एईएस एन्क्रिप्शन 2003 में पेश किया गया था। काफी पुराना होने के बावजूद, मानक जीवाश्म नहीं बना है - आजकल सक्रिय रूप से विकसित किया जा रहा है। इसलिए 2020 में इसे Zstandard, MP3 और XZ संपीड़न विधियों के साथ विस्तारित किया गया।

ज़िप पुरालेख की संरचना

ज़िप अभिलेखागार को संग्रह के भीतर व्यक्तिगत फ़ाइलों तक आसान पहुंच की अनुमति देते हुए संपीड़ित फ़ाइलों को कुशलतापूर्वक संग्रहीत और व्यवस्थित करने के लिए इस पदानुक्रमित संरचना में डिज़ाइन किया गया है। संग्रह की प्रत्येक प्रविष्टि को अलग-अलग संपीड़ित किया जाता है, यहां तक ​​कि इसकी अपनी संपीड़न और एन्क्रिप्शन विधि भी हो सकती है। संग्रह के अंदर की प्रविष्टि में मूल फ़ाइल मेटाडेटा के साथ पूर्ववर्ती हेडर है। सामग्री की तालिका फ़ाइल के अंत में रहती है। इस तरह का दृष्टिकोण सेल्फ-एक्सट्रैक्टिंग (एसएफएक्स) संग्रह की रचना करने की अनुमति देता है, जो निष्पादन योग्य भाग एसएफएक्स फ़ाइल की शुरुआत में होने के कारण एक वैध ज़िप संग्रह भी बना रहता है।

ज़िप संपीड़न विधियाँ

आधुनिक ज़िप Deflate, Deflate64™, BZIP2, LZMA, XZ, PPMd, Zstandard एल्गोरिदम के साथ डेटा को संपीड़ित करने की अनुमति देता है। फ़ाइल को बिना कम्प्रेशन के भी संग्रहीत किया जा सकता है। सबसे आम है डिफ्लेट, जो किसी भी संग्रहकर्ता उपकरण में डिफ़ॉल्ट है। विशिष्ट फ़ाइलों के दोषरहित संपीड़न के लिए एल्गोरिदम भी हैं: एमपी3, जेपीईजी, डब्ल्यूएवी। Aspose.ZIP पूरी तरह से Deflate, Deflate64™, Bzip2, LZMA, XZ, PPMd और Zstandard तरीकों का समर्थन करता है। यह WavPack संपीड़ित ऑडियो निष्कर्षण की अनुमति देता है।

ज़िप पुरालेख समर्थित संचालन

Aspose.ZIP का उपयोग करके, आप ज़िप संग्रह को विभिन्न तरीकों से संभाल सकते हैं। आप संग्रह बना सकते हैं, मौजूदा संग्रह में दोबारा पैकिंग किए बिना प्रविष्टियाँ जोड़ सकते हैं, शेष संग्रह को प्रभावित किए बिना मौजूदा संग्रह से प्रविष्टियाँ हटा सकते हैं, और मनमानी प्रविष्टि या संपूर्ण संग्रह निकाल सकते हैं। आप विरासत या आधुनिक एईएस एन्क्रिप्शन एल्गोरिदम के साथ प्रत्येक प्रविष्टि को अलग से एन्क्रिप्ट और डिक्रिप्ट कर सकते हैं। Aspose.ZIP सेल्फ-एक्सट्रैक्टिंग और मल्टी-वॉल्यूम ज़िप अभिलेखागार बनाने में सक्षम है।

ज़िप-फ़ाइल - आंतरिक संरचना

जैसा कि कहा जा रहा है, केंद्रीय निर्देशिका, जो सामग्री की तालिका है, ज़िप संग्रह के अंत की ओर स्थित है। यह निर्देशिका एक सूचकांक के रूप में कार्य करती है, जो संग्रह में सभी फ़ाइल प्रविष्टियों को संग्रह के भीतर उनकी स्थिति के साथ सूचीबद्ध करती है। प्रविष्टि शीर्षलेखों में निर्माण और संशोधन समय, फ़ाइल सिस्टम विशेषताएँ, फ़ाइल नाम और टिप्पणी शामिल हो सकती है। कस्टम मेटाडेटा को संग्रहीत करने के लिए एंट्री हेडर को कस्टम अतिरिक्त फ़ील्ड के साथ विस्तारित किया जा सकता है। प्रति संग्रह 65,535 से अधिक प्रविष्टियों का समर्थन करने के लिए Zip64 हेडर को शामिल करना संभव है। Zip64 एक्सटेंशन के साथ ज़िप संग्रह का अधिकतम आकार 264−1 बाइट्स है। ज़िप संग्रह को कई फ़ाइलों में विभाजित किया जा सकता है। ऐसे मामले में केंद्रीय निर्देशिका विशेष प्रविष्टि तक त्वरित पहुंच के लिए प्रत्येक वॉल्यूम के ऑफसेट को संग्रहीत करती है।

ज़िप-फ़ाइल - आंतरिक संरचना

ज़िप पुरालेख और समर्थन की लोकप्रियता

ज़िप नंबर एक संग्रह प्रारूप है. ज़िप अभिलेखागार इतने व्यापक रूप से मान्यता प्राप्त और समर्थित हैं कि विभिन्न सॉफ्टवेयर एप्लिकेशन, जिनमें विंडोज एक्सप्लोरर, मैकओएस फाइंडर जैसे लोकप्रिय फ़ाइल प्रबंधक और 7-ज़िप और विनआरएआर जैसे ओपन-सोर्स टूल शामिल हैं, इसके लिए मूल समर्थन प्रदान करते हैं। ज़िप फ़ाइलें बनाना और निकालना। यह समर्थन क्लाउड स्टोरेज सेवाओं, ईमेल क्लाइंट और यहां तक ​​कि मोबाइल उपकरणों तक फैला हुआ है।

ज़िप-फ़ाइलों का उपयोग करने के उदाहरण

ज़िप अभिलेखागार डेटा को संपीड़ित और व्यवस्थित करने के लिए एक सर्वव्यापी फ़ाइल प्रारूप है, जो उन्हें विभिन्न सॉफ़्टवेयर अनुप्रयोगों में आवश्यक बनाता है। .NET के माध्यम से अभिलेखागार के साथ संचालन डेवलपर्स को ज़िप-फ़ाइलों के साथ सहजता से काम करने का अधिकार देता है। निम्नलिखित कोड उदाहरणों में, हम ज़िप संग्रह के साथ संचालन की क्षमताओं में गहराई से उतरेंगे, यह प्रदर्शित करेंगे कि कैसे नया ज़िप बनाएं अभिलेखागार और कुशलतापूर्वक फ़ाइलों को निकालें मौजूदा वाले. ये उदाहरण आपके .NET प्रोजेक्ट्स में ज़िप अभिलेखागार को निर्बाध रूप से प्रबंधित करने के लिए इस लाइब्रेरी की क्षमताओं का उपयोग करने में आपकी सहायता करेंगे

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

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

ज़िप-अभिलेखागार के बारे में अतिरिक्त जानकारी

लोग पूछ रहे हैं

1. मुझे कौन सी एन्क्रिप्शन विधि चुननी चाहिए?

ज़िप प्रारूप पारंपरिक (ज़िपक्रिप्टो) और आधुनिक एईएस एन्क्रिप्शन तकनीकों का समर्थन करता है। पहला, दूसरे की तुलना में एक तरह से कमज़ोर है और आसानी से टूटने योग्य है; ZipCrypto विरासत के लिए Aspose.ZIP द्वारा समर्थित है। कृपया संग्रह बनाते समय केवल AES256 एन्क्रिप्शन का उपयोग करें।

2. क्या संपीड़न के लिए मल्टी-कोर प्रोसेसर का लाभ उठाने का कोई तरीका है?

Aspose.ZIP आपको विभिन्न सीपीयू कोर द्वारा ज़िप संग्रह की प्रविष्टियाँ लिखने की अनुमति देता है। यह कुल संपीड़न समय को काफी कम कर सकता है। स्पष्टीकरण और उपयोग के नमूने के साथ एक लेख देखें।

3. क्या वायरस ज़िप को संक्रमित कर सकता है?

हाँ, यदि फ़ाइलें स्वयं संक्रमित हैं तो वायरस संभावित रूप से ज़िप संग्रह के भीतर फ़ाइलों को संक्रमित कर सकते हैं। हालाँकि ज़िप प्रारूप स्वयं स्वाभाविक रूप से हानिकारक नहीं है, यह किसी भी अन्य फ़ाइल प्रारूप की तरह ही संक्रमित फ़ाइलों को संग्रहीत और परिवहन कर सकता है।