GZIP आर्काइव (.gz)
IETF मानकGzip (GZ) मानक GNU संपीड़न यूटिलिटी और फ़ाइल प्रारूप है, जिसे तेजी से फ़ाइल और वेब संपत्ति संपीड़न के लिए यूनिक्स ऑपरेटिंग सिस्टम और इंटरनेट HTTP सर्वर पर रूप से तैनात किया गया है।.
TAR को GZ में कन्वर्ट करें
मुफ्त इन-ब्राउज़र TAR से GZ कन्वर्टर। अपने डिवाइस पर तुरंत फ़ाइलें कन्वर्ट करें।
निरीक्षण और मेटाडेटा
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके GZ फ़ाइलों की पहचान करते हैं:
बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके GZ फ़ाइलों की पहचान करते हैं:
HEX हस्ताक्षर (ऑफ़सेट 0):
1F 8B 08ASCII निरूपण: ..\x08
मानकीकरण: IETF RFC 1952
तकनीकी विनिर्देश
| कंटेनर आर्किटेक्चर | 10-byte हेडर (मैजिक 0x1F 0x8B, विधि 8, फ़्लैग, mtime, OS), जिसके बाद DEFLATE स्ट्रीम और 8-byte फ़ुटर आता है |
| कंप्रेशन | DEFLATE एल्गोरिदम (LZ77 स्लाइडिंग विंडो + Huffman कोडिंग) |
| बाइट एंडियानेस | लिटिल-एंडियन हेडर और फ़ुटर पूर्णांक |
| कलर स्पेस | लागू नहीं (आर्काइव कंटेनर) |
| चैनल और संरचना | एकल-फ़ाइल संपीड़ित बाइट स्ट्रीम |
| अधिकतम आयाम | असंपीड़ित आकार modulo 2^32 के रूप में दर्ज होता है (असीमित स्ट्रीम लंबाइयों का समर्थन) |
| पारदर्शिता | 100% बिट-स्तर पर सटीक, डेटा का बिना हानि संरक्षण |
| स्ट्रीमिंग और प्रोग्रेसिव | पाइप और HTTP नेटवर्क पर क्रमिक, एक-पास स्ट्रीमिंग प्लेबैक |
तकनीकी तुलना मैट्रिक्स: GZ बनाम प्रतियोगी
| तकनीकी विशेषता | GZ (वर्तमान) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| डीकंप्रेसन गति | तेज़ (~300 MB/s) | धीमी (~40 MB/s) | बहुत तेज़ (~400 MB/s) | अति-तेज़ (>1.5 GB/s) |
| वेब पर व्यापक उपयोग | सभी ब्राउज़रों और सर्वरों का 100% | शून्य वेब ब्राउज़र समर्थन | सभी ब्राउज़रों में HTTPS पर समर्थित | बढ़ता हुआ ब्राउज़र और सर्वर समर्थन |
| बहु-फ़ाइल पैकेजिंग | TAR कंटेनर की आवश्यकता है (.tar.gz) | TAR कंटेनर की आवश्यकता है (.tar.bz2) | कच्चा स्ट्रीम या कस्टम कंटेनर | TAR कंटेनर की आवश्यकता है (.tar.zst) |
| चेकसम सत्यापन | 32-बिट CRC (CRC-32) | प्रति-ब्लॉक 32-बिट CRC | स्ट्रीम में कोई अंतर्निहित चेकसम नहीं | 64-बिट xxHash |
सामान्य करप्शन मोड और हेक्स रिकवरी गाइड
निष्कर्षण त्रुटि: 'gzip: stdin: unexpected end of file'।
मूल कारण: DEFLATE स्ट्रीम या 8-बाइट CRC32 फुटर को काटने वाला समय से पहले फ़ाइल स्थानांतरण समापन।
रिकवरी: 'gzip -d --keep broken.gz' या File2File.app Gzip Extractor का उपयोग करके आंशिक सामग्री निकालें।
सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स
Gzip पार्सर उपयोगकर्ता-नियंत्रित हेडर और DEFLATE बिटस्ट्रीम को संसाधित करते हैं जिन्हें डिकंप्रेसन बॉम के खिलाफ सुरक्षित किया जाना चाहिए।
ज्ञात अटैक वेक्टर्स
- डिकंप्रेसन बॉम (ZIP बॉम) जो Gzip डेटा के मेगाबाइट को डिस्क स्थान के सैकड़ों गीगाबाइट में विस्तारित करता है।
- हेडर से वैकल्पिक मूल फ़ाइल नाम स्ट्रिंग पढ़ते समय बफर ओवरफ़्लो।
- 32-बिट CRC चेक तुलना के दौरान पूर्णांक अतिप्रवाह।
सुरक्षात्मक सर्वोत्तम प्रथाएँ: स्वचालित इनजेस्ट सेवाओं में सख्त डीकंप्रेशन कोटा और मेमोरी सीमा लागू करें।
ऐतिहासिक मूल और मील के पत्थर
मुख्य लाभ और खूबियाँ
- इंटरनेट HTTP संपीड़न के लिए सार्वभौमिक बेंचमार्क ('Content-Encoding: gzip') जिसे 100% वेब क्लाइंट द्वारा समर्थित किया जाता है।
- 10-बाइट हेडर के भीतर मूल फ़ाइल संशोधन टाइमस्टैम्प और वैकल्पिक मूल फ़ाइल नाम सुरक्षित रखता है।
- डिकंप्रेसन के दौरान हल्का CPU पदचिह्न, कम शक्ति वाले मोबाइल उपकरणों और राउटर पर सुचारू रूप से चलता है।
तकनीकी सीमाएँ और कमियाँ
- केवल एकल-फ़ाइल संपीड़न: पहले उन्हें TAR कंटेनर में बंडल किए बिना एकाधिक फ़ाइलों या निर्देशिकाओं को संपीड़ित नहीं कर सकता है।
- आधुनिक वेब टेक्स्ट पर Brotli और Zstandard जैसे आधुनिक एल्गोरिदम की तुलना में संपीड़न अनुपात कम है।
- फ़ुटर का असम्पीडित आकार वाला फ़ील्ड 32-बिट मॉड्यूलो 2^32 का होता है, जिससे 4 GB से बड़ी फ़ाइलों पर रोलओवर डिस्प्ले बग होते हैं।
रोचक तकनीकी जानकारी
- मैजिक बाइट्स 0x1F 0x8B इसलिए चुने गए क्योंकि 0x1F ऐतिहासिक रूप से यूनिक्स 'compress' फ़ाइलों का पहला बाइट था, जबकि 0x8B ने Gzip की पहचान की थी।
- इंटरनेट पर 80% से अधिक वेबसाइटें ब्राउज़र तक वेब पेज पहुँचाने के लिए Gzip संपीड़न का उपयोग करती हैं।
- जीन-लूप गैली ने संपीड़न कोड लिखा जबकि मार्क एडलर ने डीकंप्रेसन (इन्फ्लेट) कोड लिखा; दोनों को ACM सॉफ्टवेयर सिस्टम पुरस्कार मिला।
अक्सर पूछे जाने वाले तकनीकी प्रश्न
मैं Gzip से किसी फ़ोल्डर को कंप्रेस क्यों नहीं कर सकता?
Gzip को बाइट्स की एक सिंगल स्ट्रीम को कंप्रेस करने के लिए डिज़ाइन किया गया था। किसी फ़ोल्डर को कंप्रेस करने के लिए, यूनिक्स सिस्टम पहले फ़ोल्डर को एक सिंगल .tar फ़ाइल में बंडल करते हैं, फिर .tar.gz फ़ाइल बनाने के लिए इसे Gzip से कंप्रेस करते हैं।
.gz और .zip में क्या अंतर है?
.zip एक आर्काइव फ़ॉर्मेट है जो डायरेक्टरी इंडेक्स के साथ कई फ़ाइलों को एक साथ पैक करता है। .gz केवल एक सिंगल फ़ाइल को कंप्रेस करता है और आमतौर पर यूनिक्स सिस्टम पर tar के साथ जोड़ा जाता है।
मैं Windows या Mac पर .gz फ़ाइल को कैसे डीकंप्रेस कर सकता हूँ?
बिना किसी सॉफ़्टवेयर इंस्टॉलेशन के सीधे अपने वेब ब्राउज़र में .gz फ़ाइलों को तुरंत डीकंप्रेस करने के लिए File2File.app का उपयोग करें।