GZIP से Deflate कन्वर्टर

GZIP स्ट्रीम को रॉ डिफ्लेट में बदलने से बाहरी फ़ाइल रैपर और हेडर मेटाडेटा हट जाते हैं, जिससे विशेष नेटवर्क प्रोटोकॉल और लो-लेवल आर्काइव के लिए केवल संपीड़ित पेलोड बच जाता है।

फ़ाइलें यहाँ चुनें या छोड़ें

निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं

या पेस्ट करें Ctrl+V

जब तक आपकी फ़ाइलें तैयार हो रही हैं, आप Code Rain खेल सकते हैं

नेटवर्क पर कोई डेटा भेजे बिना गोपनीयता की गारंटी: बाहरी सर्वर पर 0 बाइट अपलोड किए गए। सारी प्रोसेसिंग आपके ब्राउज़र सैन्डबॉक्स में स्थानीय रूप से हुई।

फ़ॉर्मेट तुलना और तकनीकी विनिर्देश

विशिष्टताGZIPDEFLATE
MIME टाइपapplication/gzipapplication/zlib
प्रकारDEFLATE स्ट्रीम कंटेनररॉ DEFLATE स्ट्रीम
संपीड़नDEFLATE (RFC 1951)LZ77 + Huffman कोडिंग
मानक विनिर्देशIETF RFC 1952IETF RFC 1950 / RFC 1951
मैजिक बाइट्स हेडर1F 8B (gzip ID1/ID2)78 01 / 78 9C / 78 DA (zlib header bytes)

फ़ॉर्मेट अवलोकन और अनुप्रयोग

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

तकनीकी विनिर्देश और कोडेक विवरण

application/gzip MIME प्रकार वाली GZIP स्ट्रीम RFC 1952 में परिभाषित कंटेनर संरचना का उपयोग करती है। इसकी शुरुआत दो-बाइट मैजिक नंबर हेडर (0x1F, 0x8B) से होती है; इसके बाद संपीड़न फ़्लैग, संशोधन समय, ऑपरेटिंग सिस्टम ID और वैकल्पिक फ़ाइल नाम आते हैं। संपीड़ित डेटा बीच में होता है और फ़ाइल के अंत में चार-बाइट CRC32 चेकसम तथा असंपीड़ित आकार का चार-बाइट संकेतक होता है। इसके विपरीत, raw DEFLATE RFC 1951 का बिटस्ट्रीम है, जिसमें कोई तय हस्ताक्षर, फ़्रेमिंग हेडर या फ़ूटर नहीं होता। application/zlib MIME प्रकार RFC 1950 के तहत DEFLATE के चारों ओर zlib wrapper को दर्शाता है, raw DEFLATE स्ट्रीम को नहीं। GZIP को raw DEFLATE में बदलने पर GZIP मेटाडेटा और चेकसम हट जाते हैं, जबकि संपीड़ित पेलोड बना रहता है।

OS और ब्राउज़र संगतता

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

उपयोगी जानकारी

हमेशा सत्यापित करें कि आपका लक्ष्य पार्सर zlib-रैप्ड स्ट्रीम के बजाय शुद्ध RFC 1951 स्ट्रीम की अपेक्षा करता है, क्योंकि zlib एक दो-बाइट हेडर जोड़ता है जिसे रॉ डिफ्लेट पार्सर अस्वीकार कर देंगे।

अक्सर पूछे जाने वाले प्रश्न

गुणवत्ता खोए बिना GZIP Stream को Raw DEFLATE में कैसे बदलें?

दोनों प्रारूप समान लॉसलेस कम्प्रेशन एल्गोरिदम का उपयोग करते हैं। उन्हें बदलने का सीधा सा मतलब है GZIP कंटेनर को पढ़ना, दस-बाइट हेडर और आठ-बाइट फूटर को हटाना, और आंतरिक संपीड़ित ब्लॉकों को सहेजना। कोई डेटा नहीं खोता है क्योंकि अंतर्निहित एल्गोरिदम अपरिवर्तित रहता है।

GZIP Stream और Raw DEFLATE में क्या अंतर है?

GZIP एक पूर्ण फ़ाइल कंटेनर है जिसमें मैजिक बाइट हेडर, मूल फ़ाइल नाम, संशोधन टाइमस्टैम्प और एक चेकसम फूटर शामिल है। रॉ डिफ्लेट केवल संपीड़ित डेटा है, जिसमें कोई हेडर, फूटर या फ़ाइल मेटाडेटा नहीं है।