ZIM फाइल क्या है?
.zim एक्सटेंशन वाली फ़ाइलें विकी सामग्री को ऑफ़लाइन संग्रहीत करने के लिए बनाए गए संग्रह हैं। इसे यूएसबी पर विकिपीडिया को स्टोर करने के लिए सबसे उपयुक्त ओपन फाइल फॉर्मेट माना जाता है। यह साइट सामग्री को एक कॉम्पैक्ट प्रारूप में संग्रहीत करता है। इसका नाम “Zeno IMproved” से आया है जो पहले Zeno फ़ाइल स्वरूप था। ZIM का रखरखाव openZIM प्रोजेक्ट द्वारा किया जाता है जो कि विकिमीडिया CH द्वारा प्रायोजित है, और विकिमीडिया फाउंडेशन द्वारा समर्थित है। ZIM फाइलें Kiwix और ZIMReader जैसे एप्लिकेशन द्वारा खोली जा सकती हैं। OpenZIM परियोजना ने OpenSource समुदाय के योगदान के लिए Github पर ZIM फ़ाइल स्वरूप के कार्यान्वयन की मेजबानी की है।
ZIM फ़ाइल स्वरूप निर्दिष्टीकरण
ZIM फ़ाइल स्वरूप Zeno फ़ाइल स्वरूप के शीर्ष पर विकसित किया गया था और यह पीछे की ओर संगत नहीं है। डेवलपर के संदर्भ के लिए ओपनज़िम द्वारा ZIM फ़ाइल प्रारूप के प्रारूप विनिर्देश उपलब्ध ऑनलाइन हैं। OpenZIM ने ZIM फ़ाइलों को पढ़ने और लिखने के लिए C++ ओपन सोर्स कार्यान्वयन, LibZim प्रदान किया है।
सामग्री को कॉम्पैक्ट बनाने के लिए ZIM फ़ाइल स्वरूप LZMA2 संपीड़न का उपयोग करता है।
ZIM हैडर
ZIM फ़ाइल एक हेडर से शुरू होती है जो ऑफसेट 0 पर है। सभी घटक छोटे-एंडियन पर आधारित होते हैं और सभी पूर्णांक अहस्ताक्षरित पूर्णांक होते हैं यानी uint_16, uint_32, uint_64।
फ़ील्ड का नाम | प्रकार | ऑफसेट | लंबाई | विवरण |
---|---|---|---|---|
मैजिकनंबर | पूर्णांक | 0 | 4 | फ़ाइल स्वरूप को पहचानने के लिए मैजिक नंबर, 72173914 (0x44D495A) होना चाहिए |
प्रमुख संस्करण | पूर्णांक | 4 | 2 | ZIM फ़ाइल स्वरूप का प्रमुख संस्करण (5 या 6) |
मामूली संस्करण | पूर्णांक | 6 | 2 | ZIM फ़ाइल स्वरूप का लघु संस्करण |
यूयूआईडी | पूर्णांक | 8 | 16 | इस ज़िम फ़ाइल की विशिष्ट आईडी |
आर्टिकलकाउंट | पूर्णांक | 24 | 4 | लेखों की कुल संख्या |
क्लस्टरकाउंट | पूर्णांक | 28 | 4 | समूहों की कुल संख्या |
urlPtrPos | पूर्णांक | 32 | 8 | URL द्वारा आदेशित निर्देशिका सूचक सूची की स्थिति |
शीर्षकPtrPos | पूर्णांक | 40 | 8 | शीर्षक द्वारा आदेशित निर्देशिका सूचक सूची की स्थिति |
क्लस्टरPtrPos | पूर्णांक | 48 | 8 | क्लस्टर सूचक सूची की स्थिति |
mimeListPos | पूर्णांक | 56 | 8 | MIME प्रकार सूची की स्थिति (शीर्षलेख का आकार भी) |
मेनपेज | पूर्णांक | 64 | 4 | मुख्य पृष्ठ या 0xffffffff यदि कोई मुख्य पृष्ठ नहीं है |
लेआउटपेज | पूर्णांक | 68 | 4 | लेआउट पेज या 0xffffffffff अगर कोई लेआउट पेज नहीं है |
चेकसमपोस | पूर्णांक | 72 | 8 | चेकसम के बिना ही इस फ़ाइल के md5checksum के लिए सूचक। यह फ़ाइल के अंत से पहले हमेशा 16 बाइट्स इंगित करता है |