GZIP पुरालेख प्रारूप
GZIP एक लोकप्रिय फ़ाइल प्रारूप और सॉफ़्टवेयर एप्लिकेशन है जिसका उपयोग फ़ाइल संपीड़न और डीकंप्रेसन के लिए किया जाता है। इसे 1990 के दशक की शुरुआत में जीन-लुप गैली और मार्क एडलर द्वारा एक स्वतंत्र और ओपन-सोर्स संपीड़न एल्गोरिदम के रूप में विकसित किया गया था। “जीज़िप” नाम का अर्थ जीएनयू ज़िप है, जो जीएनयू प्रोजेक्ट के साथ इसके जुड़ाव को दर्शाता है।
GZIP संपीड़न फ़ाइलों के आकार को कम करके काम करता है, जिससे उन्हें नेटवर्क पर स्थानांतरित करना या डिस्क पर संग्रहीत करना आसान हो जाता है। यह डेटा की बार-बार आने वाली स्ट्रिंग को संदर्भों से बदलकर संपीड़न प्राप्त करता है, जिससे अतिरेक और समग्र फ़ाइल आकार कम हो जाता है। GZIP HTML, CSS, JavaScript, XML और JSON जैसी टेक्स्ट-आधारित फ़ाइलों को संपीड़ित करने के लिए विशेष रूप से कुशल है, लेकिन इसका उपयोग अन्य प्रकार की फ़ाइलों को संपीड़ित करने के लिए भी किया जा सकता है।
GZIP पुरालेख सूचना के बारे में
GZIP संग्रह जानकारी GZIP संपीड़न एल्गोरिदम का उपयोग करके संपीड़ित फ़ाइल के भीतर मौजूद मेटाडेटा और डेटा को संदर्भित करती है। GZIP अभिलेखागार में आम तौर पर फ़ाइल विशेषताएँ, टाइमस्टैम्प, संपीड़न विधि और डीकंप्रेसन और फ़ाइल बहाली के लिए आवश्यक अन्य प्रासंगिक डेटा जैसी जानकारी शामिल होती है। यह मेटाडेटा संपीड़ित फ़ाइलों को ठीक से पहचानने और संसाधित करने के लिए महत्वपूर्ण है।
इसके अतिरिक्त, GZIP संग्रह जानकारी में संपीड़न प्रक्रिया के बारे में विवरण भी शामिल हो सकते हैं, जैसे संपीड़न स्तर, चेकसम, और संपीड़न के दौरान उपयोग किए गए कोई अतिरिक्त झंडे या विकल्प। संपीड़ित डेटा को डीकंप्रेस करते समय उसकी अखंडता और शुद्धता सुनिश्चित करने के लिए यह जानकारी आवश्यक है। कुल मिलाकर, GZIP संग्रह जानकारी को समझना संपीड़ित फ़ाइलों के साथ प्रभावी ढंग से प्रबंधन और काम करने के लिए महत्वपूर्ण है, चाहे वह डेटा भंडारण, नेटवर्क पर प्रसारण, या अभिलेखीय उद्देश्यों के लिए हो।
GZIP पुरालेख प्रारूप का विकास
GZIP संग्रह प्रारूप की जड़ें 1980 के दशक के उत्तरार्ध में हैं जब जीन-लूप गैली और मार्क एडलर ने GNU प्रोजेक्ट के हिस्से के रूप में GZIP संपीड़न एल्गोरिदम विकसित किया था। GZIP का मतलब GNU ZIP है, जो GNU प्रोजेक्ट के भीतर इसकी उत्पत्ति को दर्शाता है। लक्ष्य एक ऐसा संपीड़न उपकरण बनाना था जो विभिन्न कंप्यूटर प्रणालियों में अनुकूलता बनाए रखते हुए फ़ाइलों के आकार को कुशलतापूर्वक कम कर सके।
जीन-लूप गैली और मार्क एडलर ने प्रारंभिक यूनिक्स प्रणालियों में पाए जाने वाले कंप्रेस उपयोगिता के एक मुफ्त विकल्प के रूप में कार्यक्रम विकसित किया। इसे GNU प्रोजेक्ट का हिस्सा बनने के लिए डिज़ाइन किया गया था, इसलिए gzip में “g”। प्रारंभिक रिलीज़, संस्करण 0.1, 31 अक्टूबर 1992 को जनता के लिए उपलब्ध हो गया, इसके बाद संस्करण 1.0 फरवरी 1993 में उपलब्ध हुआ।
जीज़िप संरचना
GZIP DEFLATE एल्गोरिदम का उपयोग करता है, जो LZ77 और हफ़मैन कोडिंग तकनीकों को मर्ज करता है। DEFLATE को LZW और पेटेंट द्वारा भारित अन्य संपीड़न एल्गोरिदम को प्रतिस्थापित करने के लिए विकसित किया गया था, जिसने उस समय प्रचलित संपीड़न और समान संग्रह उपयोगिताओं की प्रभावशीलता को बाधित किया था। GZIP फ़ाइल प्रारूप एक अच्छी तरह से परिभाषित संरचना का अनुसरण करता है जिसमें तीन मुख्य भाग होते हैं:
- हेडर (10 बाइट्स): यह अनुभाग संग्रह और इसकी सामग्री के बारे में आवश्यक जानकारी प्रदान करता है। यहां हेडर डेटा का विवरण दिया गया है
- मैजिक नंबर (4 बाइट्स): यह फ़ाइल को GZIP संग्रह के रूप में पहचानता है। इसका एक विशिष्ट हेक्साडेसिमल मान (1f 8b) है जिसे डीकंप्रेसन उपकरण पहचानते हैं।
- संपीड़न विधि (1 बाइट): इस बाइट में आम तौर पर मान 8 होता है, जो GZIP द्वारा उपयोग किए गए DEFLATE संपीड़न एल्गोरिदम को दर्शाता है।
- हेडर फ़्लैग्स (1 बाइट): ये फ़्लैग्स डीकंप्रेसन के विशिष्ट पहलुओं को नियंत्रित करते हैं, जैसे फ़ाइल नाम एन्कोडिंग या किसी टिप्पणी की उपस्थिति।
- निर्माण समय (4 बाइट्स): यह अनुभाग एक यूनिक्स टाइमस्टैम्प संग्रहीत करता है जो उस समय को दर्शाता है जब संग्रह बनाया गया था।
- सीआरसी-32 (4 बाइट्स): इस चक्रीय अतिरेक जांच मान का उपयोग डीकंप्रेसन के दौरान त्रुटि का पता लगाने के लिए किया जाता है। इसकी गणना असम्पीडित डेटा के आधार पर की जाती है और डीकंप्रेसिंग सॉफ़्टवेयर को निकाली गई फ़ाइलों की अखंडता को सत्यापित करने की अनुमति देता है।
इस प्रारूप के लाभ
- दोषरहित संपीड़न: GZIP बिना किसी सूचना हानि के डेटा को संपीड़ित करता है। कुछ संपीड़न तकनीकों के विपरीत, मूल फ़ाइलों को विसंपीड़न के बाद पूरी तरह से पुनर्निर्मित किया जा सकता है। यह महत्वपूर्ण दस्तावेज़ों, छवियों या कोड के लिए महत्वपूर्ण है जहां डेटा अखंडता बनाए रखना आवश्यक है।
- व्यापक अनुकूलता: GZIP की सबसे बड़ी खूबियों में से एक इसका व्यापक रूप से अपनाया जाना है। यह अधिकांश ऑपरेटिंग सिस्टम, आर्काइव यूटिलिटीज (WinRAR, 7-ज़िप) और वेब सर्वर द्वारा समर्थित है। यह सुनिश्चित करता है कि आप विशिष्ट सॉफ़्टवेयर की आवश्यकता के बिना विभिन्न प्लेटफ़ॉर्म पर GZIP फ़ाइलें आसानी से खोल सकते हैं। इसके अलावा GZIP को यूनिक्स-आधारित सिस्टम, लिनक्स, विंडोज और मैकओएस सहित विभिन्न ऑपरेटिंग सिस्टमों में व्यापक रूप से समर्थित किया गया है। यह क्रॉस-प्लेटफ़ॉर्म अनुकूलता सुनिश्चित करती है कि GZIP-संपीड़ित फ़ाइलें विभिन्न वातावरणों में निर्बाध रूप से बनाई और विघटित की जा सकती हैं।
- स्ट्रीम करने योग्य संपीड़न: GZIP स्ट्रीम संपीड़न का समर्थन करता है, जिससे संपूर्ण फ़ाइल के संसाधित होने की प्रतीक्षा किए बिना फ़ाइलों को तुरंत संपीड़ित या डीकंप्रेस किया जा सकता है। यह इसे उन परिदृश्यों के लिए उपयुक्त बनाता है जहां डेटा लगातार उत्पन्न या प्रसारित होता है, जैसे नेटवर्क संचार और डेटा बैकअप संचालन।
- खुला मानक: GZIP फ़ाइल संपीड़न के लिए एक खुला और व्यापक रूप से अपनाया गया मानक है, जिसके विनिर्देश सार्वजनिक रूप से उपलब्ध हैं। यह खुलापन विभिन्न सॉफ़्टवेयर अनुप्रयोगों और प्रणालियों के बीच अंतरसंचालनीयता और अनुकूलता को प्रोत्साहित करता है, GZIP-संपीड़ित फ़ाइलों के साथ काम करने के लिए उपकरणों और पुस्तकालयों के एक जीवंत पारिस्थितिकी तंत्र को बढ़ावा देता है। GZIP का उपयोग करना आम तौर पर सीधा है। कई उपकरण और सॉफ़्टवेयर इस प्रारूप में फ़ाइलों को स्वचालित रूप से संपीड़ित या विघटित करते हैं। इसके अतिरिक्त, डीकंप्रेसन प्रक्रिया कुशल है और इसके लिए न्यूनतम संसाधनों की आवश्यकता होती है।
GZIP पुरालेख समर्थित संचालन
Aspose.ZIP उपयोगकर्ता को विशेष प्रविष्टि या संपूर्ण संग्रह निकालने की अनुमति देता है। .NET के लिए Aspose.ZIP के लिए आप .gz फ़ाइल को खोलने के लिए GzipArchiveClass का उपयोग कर सकते हैं और फिर इसकी प्रविष्टियों के माध्यम से पुनरावृत्त करके, उन्हें वांछित स्थान पर निकाल सकते हैं। जावा के लिए Aspose.ZIP के लिए .gz फ़ाइल खोलने और प्रविष्टियाँ निकालने के लिए GzipArchive का उपयोग करना समान दृष्टिकोण है।
GZIP-फ़ाइल - आंतरिक संरचना
GZIP संग्रह एक करीने से लपेटे गए पैकेज की तरह है। यह प्रारूप और संपीड़न विधि का परिचय देने वाले 10-बाइट हेडर से शुरू होता है। हृदय संपीड़ित डेटा अनुभाग में स्थित है, जिसे चतुर एल्गोरिदम का उपयोग करके छोटा किया गया है। अंत में, एक 8-बाइट फ़ूटर चेकसम के साथ डेटा अखंडता की पुष्टि करता है, यह सुनिश्चित करता है कि आपकी फ़ाइलें डीकंप्रेसन के बाद सुरक्षित रूप से पहुंचें।
आंतरिक पुरालेख संरचना
- फ़ाइल मेटाडेटा - टार संग्रह के समान, प्रत्येक फ़ाइल संशोधन समय और अनुमतियों जैसी बुनियादी जानकारी संग्रहीत करती है। हालाँकि, यह अनुभाग लचीला है और आपकी आवश्यकताओं के आधार पर एक्सेस कंट्रोल लिस्ट (एसीएल) या विस्तारित विशेषताओं (ईए) जैसे अतिरिक्त विवरणों को छोड़ने या शामिल करने की अनुमति देता है। डेटा अखंडता सुनिश्चित करने के लिए नियमित फ़ाइलों के लिए एक मजबूत हैश फ़ंक्शन (जैसे SHA1) शामिल करने की अनुशंसा की जाती है।
- एकाधिक सामग्री स्ट्रीम - पारंपरिक अभिलेखागार के विपरीत, फ़ाइलों में आंतरिक डेटा फ़ाइल के भीतर एक से अधिक डेटा स्ट्रीम हो सकती हैं। यह फ़ाइल से जुड़े विस्तारित विशेषताओं या संसाधन फ़ोर्क को संग्रहीत करने के लिए उपयोगी है।
- हेडर - आंतरिक सूचकांक फ़ाइल फ़ाइल हेडर रखती है, जो आंतरिक डेटा फ़ाइल में बिखरे हुए हेडर को प्रतिबिंबित करती है। लेकिन, जब अलग से संग्रहीत किया जाता है, तो इंडेक्स हेडर को डेटा फ़ाइल के भीतर उनके संबंधित डेटा की शुरुआती स्थिति का संदर्भ देना चाहिए। इसके अतिरिक्त, इंडेक्स में निर्देशिका प्रविष्टियाँ उनकी निहित फ़ाइलों और आंतरिक फ़ाइल इंडेक्स के भीतर उनके संबंधित ऑफसेट को सूचीबद्ध करती हैं।
- डुप्लिकेट मेटाडेटा के लिए तर्क - यह डिज़ाइन विकल्प कुशल डेटा स्ट्रीमिंग/डिकोडिंग और रैंडम फ़ाइल एक्सेस दोनों सुनिश्चित करता है। इसके अतिरिक्त, मेटाडेटा अच्छी तरह से संपीड़ित होता है, जिसके परिणामस्वरूप न्यूनतम भंडारण ओवरहेड होता है। परीक्षणों से पता चलता है कि मेटाडेटा आम तौर पर भंडारण स्थान के 0.3% से कम पर कब्जा करता है, जिससे व्यापार-बंद सार्थक हो जाता है।
- ब्लॉक हेडर - बाहरी फ़ाइल के समान ब्लॉक हेडर में ब्लॉक आकार की जानकारी और एक विशिष्ट पहचानकर्ता अनुक्रम होता है।
GZIP का उपयोग करने के उदाहरण
Aspose.ZIP API किसी अन्य तृतीय पक्ष एप्लिकेशन की आवश्यकता के बिना आपके एप्लिकेशन में संग्रह निकालने देता है। Aspose.ZIP API GZIP अभिलेखागार के साथ काम करने के लिए GzipArchive क्लास प्रदान करता है।
GZIP with compress only single source via C#
Such archives like GZIP, LZ, BZIP2, XZ, Z do not support entries and can compress only single source. See samples with such a compression.
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save(«archive.gz”);
}
}
GZIP-अभिलेखागार के बारे में अतिरिक्त जानकारी
लोग पूछ रहे हैं
1. जीज़िप क्या है?
GZIP (GNU ज़िप्ड आर्काइव) एक लोकप्रिय फ़ाइल स्वरूप है जो आसान भंडारण और ट्रांसमिशन के लिए फ़ाइलों के आकार को छोटा करता है।
2. GZIP संपीड़न की तुलना ZIP जैसे अन्य प्रारूपों से कैसे की जाती है?
GZIP आमतौर पर ZIP की तुलना में उच्च संपीड़न अनुपात प्रदान करता है, खासकर टेक्स्ट-आधारित फ़ाइलों को संपीड़ित करते समय। हालाँकि, ZIP अभिलेखागार में अक्सर कई फ़ाइलों और निर्देशिकाओं के लिए समर्थन शामिल होता है, जो उन्हें कई फ़ाइलों को एक साथ पैक करने के लिए अधिक बहुमुखी बनाता है। .
3. क्या GZIP एकाधिक फ़ाइलों को एक ही संग्रह में संपीड़ित कर सकता है?
GZIP को एक फ़ाइल को संपीड़ित करने के लिए डिज़ाइन किया गया है, न कि एकाधिक फ़ाइलों या निर्देशिकाओं को। हालाँकि, टारबॉल बनाने के लिए GZIP के साथ संयोजन में टार जैसे टूल का उपयोग करना आम बात है tar Archive और फिर एकल संपीड़ित फ़ाइल बनाने के लिए GZIP का उपयोग करके इसे संपीड़ित करें।