आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप BZ2 को GZ में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। फ़ाइल एन्क्रिप्टेड होकर हमारे सर्वर तक जाती है, वहाँ बदली जाती है और काम पूरा होते ही मिटा दी जाती है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
BZ2 से GZ
1998 से 2010 के आस-पास bzip2 जब gzip काफ़ी न लगे तो सीधा जवाब था, और उस दौर में पब्लिश हुआ बहुत कुछ आज भी .tar.bz2 है — रेफ़रेंस डेटासेट, सोर्स tarball, टेस्ट सूट का फ़िक्स्चर।
दिक़्क़त आर्काइव नहीं, यह है कि कोई चीज़ इसे बार-बार खोलती है और bzip2 का खुलना बिल्ड लॉग में साफ़ दिखने लायक़ धीमा है। असली रास्ता है इसे स्थानीय रूप से किसी तेज़ खुलने वाले फ़ॉर्मेट में दोबारा दबाना — यानी gzip, XZ नहीं।
gzip का नतीजा 32 KB खिड़की से पहले के हिस्से कॉपी करके बनता है — यह लगभग मेमोरी-मूवमेंट जितना तेज़ है, और आधुनिक हार्डवेयर इसमें बहुत अच्छा है।
bzip2 को हर 900 KB तक के ब्लॉक के लिए Burrows-Wheeler ट्रांसफ़ॉर्म उलटना पड़ता है — यह असली गणना है, मेमोरी-मूवमेंट नहीं। किसी भी आकार के आर्काइव पर यह फ़र्क़ मिनटों बनाम सेकंडों का है।
GZ के बड़ा होने की उम्मीद रखिए — bzip2 900 KB तक का संदर्भ देखता है जहाँ gzip सिर्फ़ 32 KB, इसलिए लेख, लॉग, CSV और सोर्स कोड में यह फ़र्क़ असली है।
JPEG, MP3, MP4 या पहले से दबी फ़ाइलों वाले आर्काइव पर कोई फ़र्क़ नहीं — दोहराव पहले ही निकल चुका था, इसलिए यह बदलाव लगभग मुफ़्त में पूरी रफ़्तार का फ़ायदा देता है।
gzip स्ट्रीम अपने हेडर में मूल फ़ाइल का नाम रखता है, bzip2 कुछ नहीं रखता। यह अंतर एक असली ख़राबी की वजह बना था — पहला कोड फ़ाइल-नाम देखकर तय करता था कि भीतर TAR है या नहीं, और BZ2 से आने पर वह TAR चूक जाता था।
ठीक करने का तरीक़ा यह था कि TAR का पता अंदाज़े से नहीं, सीधे तय किया जाए — इसलिए अब bzip2 स्रोत सही तरीक़े से सँभलता है।
DEFLATE, gzip के भीतर का कंप्रेशन है, जो HTTP, PNG, ZIP और Git में भी इस्तेमाल होता है। लगभग हर भाषा की मानक लाइब्रेरी में यह पहले से है — किसी अतिरिक्त निर्भरता की ज़रूरत नहीं।
bzip2 एक अलग लाइब्रेरी है जो न्यूनतम कंटेनर या ब्राउज़र में अक्सर मौजूद नहीं होती। अगर आर्काइव को कोड पढ़ने वाला है, इंसान नहीं, तो gzip एक निर्भरता भी हटा देता है।
bzip2 हर ब्लॉक को अलग से दबाता है, इसलिए एक ब्लॉक बिगड़ने पर बाक़ी बचाए जा सकते हैं। gzip स्ट्रीम में ऐसा ढाँचा नहीं — बीच में एक बिट पलटने पर आर्काइव वहीं ख़त्म हो जाता है।
यह तभी मायने रखता है जब फ़ाइल की इकलौती नक़ल किसी पुरानी डिस्क पर हो — वहाँ सही जवाब कोई फ़ॉर्मेट नहीं, असली बैकअप है।
अगर आर्काइव को रखना है, पढ़ना बार-बार नहीं, तो gzip ग़लत जगह है — XZ उतनी ही सामग्री को कहीं बेहतर दबाता है और फिर भी bzip2 से तेज़ खुलता है।
जाँच सीधी है: कितनी बार खुलता है? मशीन से बार-बार खुलने पर gzip; इंसान से कभी-कभार खुलने पर XZ। bzip2 सिर्फ़ बहुत कम मेमोरी वाली मशीन के लिए बचता है।
यह हमारे सर्वर पर होता है, ब्राउज़र में नहीं, क्योंकि इसके लिए 7-Zip और gzip असली प्रोग्राम चाहिए। फ़ाइल एन्क्रिप्टेड कनेक्शन से एक ऐसे कंटेनर तक जाती है जिसकी बाहरी इंटरनेट तक पहुँच ही नहीं।
हर काम की अपनी अस्थायी जगह होती है जो ख़त्म होते ही मिट जाती है, साठ सेकंड में ख़त्म न होने पर काम रोक दिया जाता है — मुफ़्त सीमा 25 MB प्रति फ़ाइल है।
दोनों फ़ाइलों को निकालने का समय नापिए और दोनों का आकार साथ रखिए। अगर आर्काइव छोटा है या महीने में एक बार ही खुलता है, तो बचत मामूली है और बदलाव की मेहनत उतनी सार्थक नहीं।
तुलना करने तक मूल bzip2 रखिए — bzip2 खोना नुक़सानदेह नहीं है, बल्कि tarball दोबारा बनने से टाइमस्टैंप और अनुमतियाँ बदल सकती हैं।
| BZ2 | GZ | |
|---|---|---|
| पूरा नाम | Bzip2 आर्काइव | Gzip आर्काइव |
| फ़ाइल एक्सटेंशन | .bz2 | .gz, .tgz |
| मीडिया टाइप | application/x-bzip2 | application/gzip |
| कंप्रेशन | बिना नुक़सान — कुछ छोड़ा नहीं जाता | बिना नुक़सान — कुछ छोड़ा नहीं जाता |
| पहली बार प्रकाशित | 1996 | 1992 |
| विनिर्देश | — | RFC 1952 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | पुराना, फिर भी हर जगह पढ़ा जाता है | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | XZ | XZ, ZIP |
कुछ नहीं खोता। BZ2 और GZ — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।
BZ2 1996 का है और अब मुश्किल से ही इस्तेमाल होता है। GZ वह है जो आज के प्रोग्राम लिखते हैं, इसलिए यह कन्वर्ज़न पढ़े जाते रहने का भी सवाल है।
7-Zip और Keka BZ2 और GZ — दोनों पढ़ लेते है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
GZ एक बार में 32 KB पर काम करता है, जबकि BZ2 900 KB पर: दोहराव को इसी दायरे के अंदर आना पड़ता है, तभी उसे दबाया जा सकता है। कंप्रेशन का फ़र्क़ वहीं से आता है, और इसीलिए दोनों में यही तेज़ है।
GZ 1992 से चला आ रहा है, और RFC 1952 में तय किया गया है। gzip, 7-Zip और Keka इस फ़ॉर्मेट को पढ़ लेते है।
हाँ: इस कन्वर्ज़न को ऐसा सॉफ़्टवेयर चाहिए जो ब्राउज़र में चलता ही नहीं। फ़ाइल एन्क्रिप्टेड होकर हमारे सर्वर तक जाती है, काम पूरा होते ही मिटा दी जाती है, और नतीजा 60 मिनट बाद। वहाँ यह काम 7-Zip करता है, वह आर्काइवर, अपने कमांड-लाइन रूप में।
हाँ, 25 MB तक की फ़ाइलों के लिए रोज़ 100 कन्वर्ज़न तक। यह एक सीमा इसलिए है कि यह कन्वर्ज़न ऐसे सर्वर पर चलता है जिसका ख़र्च हम उठाते हैं। इसके अलावा यहाँ कुछ भी सीमित नहीं है, और वॉटरमार्क किसी भी हाल में नहीं लगता। यह सीमा इसलिए है कि 7-Zip को चलने के लिए हमारी कोई मशीन चाहिए।
नहीं। GZ वही सामग्री बिना कुछ फेंके सँभालता है: नतीजा गुणवत्ता में असली फ़ाइल जैसा ही होता है। फ़ाइलें बाइट-दर-बाइट वैसी ही निकलती हैं। जो नहीं बचता वह है वह सब जो कंटेनर उनके *बारे में* जानता था, न कि जो उसके *भीतर* था — कोई पासवर्ड, और कुछ फ़ॉर्मेट में असली अनुमतियाँ और तारीख़ें।
कुछ नहीं खोता। BZ2 और GZ — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।