ZIP फ़ाइल प्रारूप एक व्यापक रूप से उपयोग किया जाने वाला संपीड़न और संग्रहण प्रारूप है जो कई फ़ाइलों को एक साथ एक संपीड़ित फ़ाइल में पैकेज करने की अनुमति देता है। इसे मूल रूप से 1989 में फिल काट्ज़ द्वारा बनाया गया था और तब से यह फ़ाइल संपीड़न और वितरण के लिए एक सर्वव्यापी मानक बन गया है। ZIP प्रारूप निहित फ़ाइलों के आकार को कम करने के लिए दोषरहित संपीड़न एल्गोरिदम के संयोजन का उपयोग करता है, जबकि फिर भी उन्हें मांग पर व्यक्तिगत रूप से निकाला जा सकता है।
एक ZIP संग्रह में फ़ाइल रिकॉर्ड का एक क्रम होता है, प्रत्येक एक संपीड़ित फ़ाइल का प्रतिनिधित्व करता है, इसके बाद संग्रह के अंत में एक केंद्रीय निर् देशिका होती है। प्रत्येक फ़ाइल रिकॉर्ड में फ़ाइल के बारे में मेटाडेटा शामिल होता है, जैसे कि उसका नाम, आकार और टाइमस्टैम्प, साथ ही संपीड़ित फ़ाइल डेटा भी शामिल होता है। केंद्रीय निर्देशिका में संग्रह में सभी फ़ाइल रिकॉर्ड की एक सूची होती है, साथ ही अतिरिक्त मेटाडेटा भी होता है।
ZIP प्रारूप कई संपीड़न विधियों का समर्थन करता है, लेकिन सबसे अधिक उपयोग किया जाने वाला DEFLATE है, जो LZ77 एल्गोरिदम और हफ़मैन कोडिंग पर आधारित है। DEFLATE डेटा के दोहराए गए अनुक्रमों को ढूंढकर और उन्हें पहले की घटनाओं के संदर्भों से बदलकर काम करता है, संपीड़ित डेटा को कुशलतापूर्वक प्रदर्शित करने के लिए हफ़मैन कोडिंग के साथ संयुक्त होता है। यह महत्वपूर्ण आकार में कमी की अनुमति देता है, विशेष रूप से टेक्स्ट-आधारित फ़ाइलों के लिए।
ZIP संग्रह बनाने के लिए, फ़ाइलों को पहले चुनी गई संपीड़न विधि का उपयोग करके व्यक्तिगत रूप से संपीड़ित किया जाता है। प्रत्येक संपीड़ित फ़ाइल को फिर फ़ाइल रिकॉर्ड के रूप में संग्रह में जोड़ा जाता है, जिसमें संपीड़ित डेटा के बाद एक स्थानीय फ़ाइल हेडर शामिल होता है। स्थानीय फ़ाइल हेडर में फ़ाइल नाम, संपीड़न विधि, CRC-32 चेकसम, संपीड़ित और असम्पीडित आकार और टाइमस्टैम्प जैसे मेटाडेटा होते हैं।
सभी फ़ाइल रिकॉर्ड जोड़े जाने के बाद, केंद्रीय निर्देशिका संग्रह के अंत में लिखी जाती है। केंद्रीय निर्देशिका एक हस्ताक्षर से शुरू होती है और प्रत्येक फ़ाइल रिकॉर्ड के लिए एक फ़ाइल हेडर शामिल करती है, जिसमें स्थानीय फ़ाइल हेडर के समान मेटाडेटा होता है। इसके अतिरिक्त, केंद्रीय निर्देशिका में संग्रह के बारे में जानकारी शामिल होती है, जैसे कि फ़ाइलों की संख्या और केंद्रीय निर्देशिका का आकार।
अंत में, ZIP संग्रह को केंद्रीय निर्देशिका रिकॉर्ड के अंत के साथ समाप्त किया जाता है, जिसमें एक हस्ताक्षर, डिस्क की संख्या जिस पर केंद्रीय निर्देशिका शुरू होती है, केंद्रीय निर्देशिका रिकॉर्ड की संख्या, केंद्रीय निर्देशिका का आकार, केंद्रीय निर्देशिका की शुरुआत का ऑफसेट शामिल होता है। संग्रह की शुरुआत के सापेक्ष, और एक टिप्पणी फ़ील्ड।
ZIP प्रारूप की प्रमुख विशेषताओं में से एक विभिन्न संपीड़न विधियों का समर्थन करने की इसकी क्षमता है। DEFLATE के अतिरिक्त, यह STORE विधि (कोई संपीड़न नहीं), BZIP2, LZMA, PPMd और अन्य का भी समर्थन करता है। यह लचीलापन उपयोग के मामले की विशिष्ट आवश्यकताओं के आधार पर संपीड़न अनुपात और प्रसंस्करण समय के बीच संतुलन की अनुमति देता है।
ZIP प्रारूप का एक और महत्वपूर्ण पहलू फ़ाइल और निर्देशिका एन्क्रिप्शन के लिए इसका समर्थन है। पारंपरिक ZIP एन्क्रिप्शन योजना एक साधारण पासवर्ड-आधारित एन्क्रिप्शन विधि का उपयोग करती थी, लेकिन इसे आधुनिक ZIP टूल में अधिक सुरक्ष ित AES एन्क्रिप्शन द्वारा काफी हद तक बदल दिया गया है। जब किसी फ़ाइल को एन्क्रिप्ट किया जाता है, तो उसके संपीड़ित डेटा को चुनी गई एन्क्रिप्शन विधि का उपयोग करके एन्क्रिप्ट किया जाता है, और एन्क्रिप्शन स्थिति को इंगित करने के लिए फ़ाइल हेडर में अतिरिक्त मेटाडेटा जोड़ा जाता है।
ZIP प्रारूप में डेटा अखंडता जाँच और त्रुटि का पता लगाने के लिए भी सुविधाएँ शामिल हैं। प्रत्येक फ़ाइल रिकॉर्ड में असम्पीडित डेटा का CRC-32 चेकसम शामिल होता है, जो निष्कर्षण पर फ़ाइल की अखंडता को सत्यापित करने की अनुमति देता है। इसके अतिरिक्त, केंद्रीय निर्देशिका में संपूर्ण केंद्रीय निर्देशिका संरचना का CRC-32 चेकसम शामिल होता है, जो संग्रह के लिए अखंडता जाँच की एक अतिरिक्त परत प्रदान करता है।
इन वर्षों में, इसकी कार्यक्षमता और दक्षता में सुधार के लिए ZIP प्रारूप में कई एक्सटेंशन और संवर्द्धन किए गए हैं। ऐसा ही एक एक्सटेंशन ZIP64 प्रारूप है, जो 4 जीबी से बड़े संग्रह और फ़ाइलों की अनुमति देता है। यह मूल 32-बिट फ़ील्ड के बजाय आकार और ऑफसेट मानों के लिए 64-बिट फ़ील्ड का उपयोग करके प्राप्त किया जाता है। एक अन्य एक्सटेंशन फ़ाइल नाम और टिप्पणी एन्कोडिंग का उपयोग है, जो फ़ाइल नामों और टिप्पणियों में यूनिकोड वर्णों के उपयोग की अनुमति देता है।
ZIP प्रारूप को विभिन्न विशिष्ट संदर्भों में उपयोग के लिए भी अनुकूलित किया गया है, जैसे कि कार्यालय उत्पादकता सूट द्वारा उपयोग किया जाने वाला ओपनडॉक्यूमेंट प्रारूप, जावा अनुप्रयोगों को वितरित करने के लिए उपयोग किया जाने वाला JAR (जावा आर्काइव) प्रारूप और ई-पुस्तकों के लिए उपयोग किया जाने वाला EPUB प्रारूप। इन मामलों में, ZIP प्रारूप संबंधित प्रारूपों द्वारा आवश्यक विशिष्ट फ़ाइल प्रकारों और मेटाडेटा के लिए एक कंटेनर के रूप में कार्य करता है।
अपनी उम्र के बावजूद, ZIP प्रारूप व्यापक रूप से उपयोग किया जाता है और प्लेटफॉर्म और उपकरणों पर समर्थित है। इसकी सादगी, दक्षता और संगतता ने इसे फ़ाइल संपीड़न और वितरण के लिए एक पसंदीदा विकल्प बना दिया है। हालाँकि, ZIP प्रारूप की कुछ सीमाएँ भी हैं, जैसे कि विभाजित संग्रह, ठोस संपीड़न या पुनर्प्राप्ति रिकॉर्ड के लिए अंतर्निहित समर्थन की कमी।
इनमें से कुछ सीमाओं को दूर करने के लिए, वैकल्पिक संग्रहण प्रारूप विकसित किए गए हैं, जैसे RAR, 7z और TAR। ये प्रारूप कुछ मामलों में अतिरिक्त सुविधाएँ और बेहतर संपीड़न अनुपात प्रदान करते हैं, लेकिन हो सकता है कि उनके पास ZIP के समान स्तर का सार्वभौमिक समर्थन न हो।
निष्कर्ष में, ZIP फ़ाइल प्रारूप एक बहुमुखी और कुशल संपीड़न और संग्रहण प्रारूप है जो समय की कसौटी पर खरा उतरा है। कई फ़ाइलों को एक साथ पैकेज करने, उन्हें कुशलतापूर्वक संपीड़ित करने और डेटा अखंडता जाँच प्रदान करने की इस की क्षमता ने इसे फ़ाइल संग्रहण और वितरण के लिए एक आवश्यक उपकरण बना दिया है। कुछ सीमाओं के बावजूद, ZIP प्रारूप का व्यापक रूप से उपयोग और समर्थन किया जाता है, इसकी सादगी और संगतता के लिए धन्यवाद।
फ़ाइल कंप्रेशन রিডन्डेंसी को कम करता है ताकि वही जानकारी कम बिट्स ले। आप कितनी दूर जा सकते हैं इसकी ऊपरी सीमा सूचना सिद्धांत द्वारा नियंत्रित होती है: दोषरहित कंप्रेशन के लिए, सीमा स्रोत की एन्ट्रॉपी है (शैनन का स्रोत कोडिंग प्रमेय और उनका मूल 1948 का पेपर “संचार का एक गणितीय सिद्धांत”देखें)। दोषपूर्ण कंप्रेशन के लिए, दर और गुणवत्ता के बीच का ट्रेड-ऑफ दर-विरूपण सिद्धांत द्वारा कब्जा कर लिया गया है।
अधिकांश कंप्रेशर्स के दो चरण होते हैं। सबसे पहले, एक मॉडल डेटा में संरचना की भविष्यवाणी करता है या उजागर करता है। दूसरा, एक कोडर उन भविष्यवाणियों को लगभग-इष्टतम बिट पैटर्न में बदल देता है। एक क्लासिक मॉडलिंग परिवार लेम्पेल-ज़िव है: LZ77 (1977) और LZ78 (1978) बार-बार आने वाले सबस्ट्रिंग का पता लगाते हैं और कच्चे बाइट्स के बजाय संदर्भ उत्सर्जित करते हैं। कोडिंग पक्ष पर, हफमैन कोडिंग (मूल पेपर देखें 1952) अधिक संभावित प्रतीकों को छोटे कोड प्रदान करता है। अरिथमैटिक कोडिंग और रेंज कोडिंग बारीक-बारीक विकल् प हैं जो एन्ट्रॉपी सीमा के करीब निचोड़ते हैं, जबकि आधुनिक असममित अंक प्रणाली (ANS) तेज तालिका-चालित कार्यान्वयन के साथ समान कंप्रेशन प्राप्त करता है।
DEFLATE (gzip, zlib, और ZIP द्वारा उपयोग किया जाता है) LZ77 को हफमैन कोडिंग के साथ जोड़ता है। इसके स्पेक्स सार्वजनिक हैं: DEFLATE RFC 1951, zlib रैपर RFC 1950, और gzip फ़ाइल प्रारूप RFC 1952. Gzip स्ट्रीमिंग के लिए बनाया गया है और स्पष्ट रूप से यादृच्छिक पहुँच प्रदान करने का प्रयास नहीं करता है. PNG छवियां DEFLATE को अपनी एकमात्र कंप्रेशन विधि के रूप में मानकीकृत करती हैं (अधिकतम 32 KiB विंडो के साथ), PNG स्पेक के अनुसार “संपीड़न विधि 0… डिफ्लेट/इन्फ्लेट… अधिकतम 32768 बाइट्स” और W3C/ISO PNG दूसरा संस्करण.
Zstandard (zstd): एक नया सामान्य-उद्देश्य कंप्रेसर है जिसे बहुत तेज डीकंप्रेसन के साथ उच्च अनुपात के लिए डिज़ाइन किया गया है। प्रारूप RFC 8878 (यह भी HTML मिरर) और संदर्भ स्पेक GitHub परमें प्रलेखित है। Gzip की तरह, मूल फ्रेम यादृच्छिक पहुँच का लक्ष्य नहीं रखता है. zstd की महाशक्तियों में से एक शब्दकोश है: आपके कॉर्पस से छोटे नमूने जो कई छोटी या समान फ़ाइलों पर संपीड़न में नाटकीय रूप से सुधार करते हैं (देखें python-zstandard श ब्दकोश डॉक्स और निगेल ताओ का काम किया हुआ उदाहरण)। कार्यान्वयन “असंरचित” और “संरचित” दोनों शब्दकोशों को स्वीकार करते हैं (चर्चा).
Brotli: वेब सामग्री के लिए अनुकूलित (जैसे, WOFF2 फोंट, HTTP)। यह एक स्थिर शब्दकोश को एक DEFLATE-जैसे LZ+एन्ट्रॉपी कोर के साथ मिलाता है। स्पेक RFC 7932है, जो 2WBITS−16 की एक स्लाइडिंग विंडो को भी नोट करता है जिसमें WBITS [10, 24] (1 KiB−16 B से 16 MiB−16 B तक) में है और यह यादृच्छिक पहुँच का प्रयास नहीं करता है. Brotli अक्सर वेब टेक्स्ट पर gzip को मात देता है जबकि जल्दी से डीकोड करता है।
ZIP कंटेनर: ZIP एक फ़ाइल संग्रह है जो विभिन्न संपीड़न विधियों (deflate, store, zstd, आदि) के साथ प्रविष्टियों को संग्रहीत कर सकता है। वास्तविक मानक PKWARE का APPNOTE है (देखें APPNOTE पोर्टल, एक होस्ट की गई प्रति, और LC अवलोकन ज़िप फ़ाइल प्रारूप (PKWARE) / ज़िप 6.3.3).
LZ4 मामूली अनुपात के साथ कच्ची गति को लक्षित करता है। इसकी परियोजना पृष्ठ (“अत्यंत तेज संपीड़न”) और फ्रेम प्रारूपदेखें। यह इन-मेमोरी कैश, टेलीमेट्री, या हॉट पाथ के लिए आदर्श है जहां डीकंप्रेसन को रैम की गति के करीब होना चाहिए।
XZ / LZMA अपेक्षाकृत धीमी संपीड़न के साथ घनत्व (महान अनुपात) के लिए धक्का देते हैं। XZ एक कंटेनर है; भारी उठाने का काम आमतौर पर LZMA/LZMA2 (LZ77-जैसा मॉडलिंग + रेंज कोडिंग) द्वारा किया जाता है। देखें .xz फ़ाइल प्रारूप, LZMA स्पेक (पावलोव), और लिनक्स कर्नेल नोट्स XZ एंबेडेड पर. XZ आमतौर पर gzip को आउट-कंप्रेस करता है और अक्सर उच्च-अनुपात वाले आधुनिक कोडेक्स के साथ प्रतिस्पर्धा करता है, लेकिन धीमी एन्कोड समय के साथ।
bzip2 बरोज़-व्हीलर ट्रांसफ़ॉर्म (BWT), मूव-टू-फ्रंट, RLE, और हफ़मैन कोडिंग लागू करता है। यह आमतौर पर gzip से छोटा लेकिन धीमा होता है; देखें आधिकारिक मैनुअल और मैन पेज (लिनक्स).
“विंडो का आकार” मायने रखता है। DEFLATE संदर्भ केवल 32 KiB पीछे देख सकते हैं (RFC 1951 और PNG की 32 KiB कैप यहाँ उल्लेख किया गया है)। ब्रोटली की विंडो लगभग 1 KiB से 16 MiB तक होती है (RFC 7932). Zstd स्तर के अनुसार विंडो और खोज गहराई को ट्यून करता है (RFC 8878). बेसिक gzip/zstd/brotli स्ट्रीम अनुक्रमिक डिकोडिंग के लिए डिज़ाइन किए गए हैं; आधार प्रारूप रैंडम एक्सेस का वादा नहीं करते हैं, हालांकि कंटेनर (जैसे, टार इंडेक्स, चंक्ड फ्रेमिंग, या प्रारूप-विशिष्ट इंडेक्स) इसे परत कर सकते हैं।
उपरोक्त प्रारूप दोषरहित हैं: आप सटीक बाइट्स का पुनर्निर्माण कर सकते हैं। मीडिया कोडेक्स अक्सर दोषपूर्ण होते हैं: वे कम बिटरेट हिट करने के लिए अगोचर विवर ण को त्याग देते हैं। छवियों में, क्लासिक जेपीईजी (डीसीटी, क्वांटिज़ेशन, एन्ट्रॉपी कोडिंग) ITU-T T.81 / ISO/IEC 10918-1में मानकीकृत है। ऑडियो में, एमपी3 (MPEG-1 लेयर III) और एएसी (MPEG-2/4) अवधारणात्मक मॉडल और एमडीसीटी ट्रांसफ़ॉर्म पर निर्भर करते हैं (देखें ISO/IEC 11172-3, ISO/IEC 13818-7, और एक एमडीसीटी अवलोकन यहाँ)। दोषपूर्ण और दोषरहित सह-अस्तित्व में हो सकते हैं (जैसे, यूआई संपत्ति के लिए पीएनजी; छवियों/वीडियो/ऑडियो के लिए वेब कोडेक्स)।
सिद्धांत: शैनन 1948 · दर-विरूपण · कोडिंग: हफमैन 1952 · अरिथमैटिक कोडिंग · रेंज कोडिंग · ANS. प्रारूप: DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 फ्रेम · XZ प्रारूप. BWT स्टैक: बरोज़-व्हीलर (1994) · bzip2 मैनुअल. मीडिया: जेपीईजी T.81 · एमपी3 ISO/IEC 11172-3 · एएसी ISO/IEC 13818-7 · एमडीसीटी.
निष्कर्ष: एक कंप्रेसर चुनें जो आपके डेटा और बाधाओं से मेल खाता हो, वास्तविक इनपुट पर मापें, और शब्दकोशों और स्मार्ट फ्रेमिंग से होने वाले लाभों को न भूलें। सही जोड़ी के साथ, आप प्राप्त कर सकते हैं छोटी फाइलें, तेज स्थानान्तरण, और तेज ऐप्स - शुद्धता या पोर्टेबिलिटी का त्याग किए बिना।
फ़ाइल संकुचन एक प्रक्रिया है जो फ़ाइल या फ़ाइलों का आकार घटाती है, आमतौर पर संग्रहण स्थान को बचाने या नेटवर्क पर संचार को तेज करने के लिए।
फ़ाइल संकुचन डाटा में रिडंडेंसी की पहचान और हटाने के द्वारा काम करता है। यह एल्गोरिदम का उपयोग करके मूल डेटा को एक छोटे स्थान में कोड करता है।
फ़ाइल संकुचन के दो मुख्य प्रकार हैं - नुकसान रहित और नुकसानदायक संकुचन। नुकसान रहित संकुचन की अनुमति है कि मूल फ़ाइल को पूरी तरह से बहाल किया जा सके, जबकि नुकसानदायक संकुचन डेटा की गुणवत्ता में कुछ हानि की लागत पर अधिक आकार घटाव की अनुमति देता है।
फाइल संकुचन उपकरण का एक लोकप्रिय उदाहरण WinZip है, जो ZIP और RAR सहित कई संकुचन प्रारूपों का समर्थन करता है।
नुकसान रहित संकुचन के साथ, गुणवत्ता अपरिवर्तित रहती है। हालांकि, नुकसानदायक संकुचन के साथ, फ़ाइल का आकार अधिक ध्यान से घटाने के लिए कुछ कम महत्वपूर्ण डेटा को हटाने के कारण गुणवत्ता में ध्यान देने योग्य कमी हो सकती है।
हां, डेटा संरक्षण के संबंध में फ़ाइल संकुचन सुरक्षित है, खासकर नुकसान रहित संकुचन के साथ। हाला ंकि, किसी भी फ़ाइल की तरह, संकुचित फ़ाइलों को मैलवेयर या वायरस के लक्ष्य के रूप में लिया जा सकता है, इसलिए यह हमेशा महत्त्वपूर्ण होता है कि प्रमुख सुरक्षा सॉफ़्टवेयर स्थापित हो।
लगभग सभी प्रकार की फ़ाइलें संकुचित की जा सकती हैं, जिसमें पाठ फ़ाइलें, चित्र, ऑडियो, वीडियो, और सॉफ़्टवेयर फ़ाइलें शामिल हैं। हालांकि, प्राप्त करने योग्य संकुचन का स्तर फ़ाइल प्रकारों के बीच महत्वपूर्ण रूप से अलग हो सकता है।
ZIP फ़ाइल एक प्रकार की फ़ाइल प्रारूप है जो नुकसान रहित संकुचन का उपयोग करके एक या अधिक फ़ाइलों के आकार को घटाती है। ZIP फ़ाइल में अनेक फ़ाइलें प्रभावी रूप से एक ही फ़ाइल में संग्रहित की जाती हैं, जो साझा करना भी आसान बनाती है।
तकनीकी रूप से, हां, हालांकि अतिरिक्त आकार घटाव न्यूनतम हो सकता है या यहां तक कि प्रतिकूल हो सकता है। पहले से संकुचित फ़ाइल को संकुचित करना कभी-कभी इसका आकार बढ़ सकता है क्योंकि संकुचन एल्गोरिदम द्वारा जोड़ी गई मेटाडाटा।
फ़ाइल को डिकम्प्रेस करने के लिए, आपको आमतौर पर एक डिकम्प्रेसन या अनज़िपिंग उपकरण की आवश्यकता होती है, जैसे WinZip या 7-Zip। ये उपकरण संपीडित प्रारूप से मूल फ़ाइलों को निकाल सकते हैं।