একটি ZIM ফাইল কি?
.zim এক্সটেনশন সহ ফাইলগুলি উইকি বিষয়বস্তু অফলাইনে সংরক্ষণ করার জন্য তৈরি করা আর্কাইভ। এটি একটি USB-এ উইকিপিডিয়া সংরক্ষণের জন্য সবচেয়ে উপযুক্ত খোলা ফাইল বিন্যাস হিসাবে বিবেচিত হয়। এটি একটি কম্প্যাক্ট বিন্যাসে সাইটের বিষয়বস্তু সংরক্ষণ করে। এর নাম Zeno IMproved থেকে এসেছে যা আগের Zeno ফাইল ফরম্যাট ছিল। ZIM-এর রক্ষণাবেক্ষণ করা হয় openZIM প্রকল্প যা উইকিমিডিয়া সিএইচ দ্বারা স্পনসর করে এবং উইকিমিডিয়া ফাউন্ডেশন দ্বারা সমর্থিত। ZIM ফাইলগুলি কিউইক্স এবং জিমরিডারের মতো অ্যাপ্লিকেশন দ্বারা খোলা যেতে পারে। OpenZIM প্রকল্পটি ওপেনসোর্স সম্প্রদায় থেকে অবদানের জন্য Github-এ ZIM ফাইল বিন্যাস বাস্তবায়নের আয়োজন করেছে।
ZIM ফাইল ফরম্যাট স্পেসিফিকেশন
ZIM ফাইল বিন্যাসটি Zeno file format-এর উপরে তৈরি করা হয়েছে এবং পিছনের দিকে সামঞ্জস্যপূর্ণ নয়। ZIM ফাইল ফরম্যাটের ফর্ম্যাট স্পেসিফিকেশন হল ডেভেলপারের রেফারেন্সের জন্য openZIM দ্বারা available online। ZIM ফাইলগুলি পড়ার এবং লেখার জন্য OpenZIM C++ ওপেন সোর্স বাস্তবায়ন, LibZim প্রদান করেছে।
ZIM ফাইল ফরম্যাট কন্টেন্ট কমপ্যাক্ট করতে LZMA2 কম্প্রেশন ব্যবহার করে।
ZIM হেডার
A ZIM file starts with a header that is at offset 0. সমস্ত উপাদান লিটল-এন্ডিয়ানের উপর ভিত্তি করে এবং সমস্ত পূর্ণসংখ্যা স্বাক্ষরবিহীন পূর্ণসংখ্যা যেমন uint_16, uint_32, uint_64।
ক্ষেত্রের নাম | প্রকার | অফসেট | দৈর্ঘ্য | বর্ণনা |
---|---|---|---|---|
জাদুসংখ্যা | পূর্ণসংখ্যা | 0 | 4 | ফাইল ফরম্যাট চিনতে ম্যাজিক নম্বর, 72173914 (0x44D495A) হতে হবে |
প্রধান সংস্করণ | পূর্ণসংখ্যা | 4 | 2 | ZIM ফাইল ফরম্যাটের প্রধান সংস্করণ (5 বা 6) |
মাইনর সংস্করণ | পূর্ণসংখ্যা | 6 | 2 | ZIM ফাইল ফরম্যাটের ছোট সংস্করণ |
uuid | পূর্ণসংখ্যা | 8 | 16 | এই জিম ফাইলের অনন্য আইডি |
আর্টিকেলকাউন্ট | পূর্ণসংখ্যা | 24 | 4 | নিবন্ধের মোট সংখ্যা |
ক্লাস্টার কাউন্ট | পূর্ণসংখ্যা | 28 | 4 | ক্লাস্টারের মোট সংখ্যা |
urlPtrPos | পূর্ণসংখ্যা | 32 | 8 | URL দ্বারা নির্দেশিত ডিরেক্টরি পয়েন্টারলিস্টের অবস্থান |
titlePtrPos | পূর্ণসংখ্যা | 40 | 8 | শিরোনাম |
clusterPtrPos | পূর্ণসংখ্যা | 48 | 8 | ক্লাস্টার পয়েন্টার তালিকার অবস্থান |
mimeListPos | পূর্ণসংখ্যা | 56 | 8 | MIME প্রকার তালিকার অবস্থান (এছাড়াও হেডারের আকার) |
প্রধান পৃষ্ঠা | পূর্ণসংখ্যা | 64 | 4 | প্রধান পৃষ্ঠা বা 0xffffffff যদি প্রধান পৃষ্ঠা না থাকে |
লেআউট পৃষ্ঠা | পূর্ণসংখ্যা | 68 | 4 | লেআউট পৃষ্ঠা বা 0xffffffffff যদি লেআউট পৃষ্ঠা না থাকে |
চেকসামপোস | পূর্ণসংখ্যা | 72 | 8 | চেকসাম ছাড়াই এই ফাইলের md5checksum-এ পয়েন্টার। এটি ফাইলের শেষ হওয়ার আগে সর্বদা 16 বাইট পয়েন্ট করে। |