ไฟล์ ZIM คืออะไร??
ไฟล์ที่มีนามสกุล .zim เป็นไฟล์เก็บถาวรที่สร้างขึ้นเพื่อจัดเก็บเนื้อหา Wiki แบบออฟไลน์ ถือเป็นรูปแบบไฟล์เปิดที่เหมาะสมที่สุดสำหรับการจัดเก็บ Wikipedia บน USB มันจัดเก็บเนื้อหาของไซต์ในรูปแบบที่กะทัดรัด ชื่อของมันมาจาก “Zeno IMproved” ซึ่งเป็นรูปแบบไฟล์ Zeno ก่อนหน้านี้ ZIM ได้รับการดูแลโดย openZIM project ซึ่งสนับสนุนโดย Wikimedia CH และสนับสนุนโดย Wikimedia Foundation ไฟล์ ZIM สามารถเปิดได้โดยแอปพลิเคชันเช่น Kiwix และ ZIMReader โครงการ OpenZIM ได้โฮสต์การใช้งานรูปแบบไฟล์ ZIM บน Github สำหรับการสนับสนุนจากชุมชน OpenSource
ข้อมูลจำเพาะรูปแบบไฟล์ ZIM
รูปแบบไฟล์ ZIM ได้รับการพัฒนาต่อยอดจาก รูปแบบไฟล์ Zeno และไม่รองรับการทำงานแบบย้อนกลับ ข้อมูลจำเพาะของรูปแบบไฟล์ ZIM คือ มีให้ทางออนไลน์ โดย openZIM สำหรับการอ้างอิงของนักพัฒนา OpenZIM ได้จัดเตรียมการใช้งานโอเพ่นซอร์ส C++, LibZim สำหรับการอ่านและเขียนไฟล์ ZIM
รูปแบบไฟล์ ZIM ใช้การบีบอัด LZMA2 เพื่อทำให้เนื้อหามีขนาดกะทัดรัด
ส่วนหัว ZIM
ไฟล์ ZIM เริ่มต้นด้วยส่วนหัวที่ออฟเซ็ต 0 องค์ประกอบทั้งหมดขึ้นอยู่กับ little-endian และจำนวนเต็มทั้งหมดเป็นจำนวนเต็มที่ไม่ได้ลงนาม เช่น uint_16, uint_32, uint_64
ชื่อฟิลด์ | ประเภท | ออฟเซ็ต | ความยาว | คำอธิบาย |
---|---|---|---|---|
เมจิกนัมเบอร์ | จำนวนเต็ม | 0 | 4 | หมายเลขวิเศษเพื่อจดจำรูปแบบไฟล์ ต้องเป็น 72173914 (0x44D495A) |
รุ่นใหญ่ | จำนวนเต็ม | 4 | 2 | รูปแบบไฟล์ ZIM เวอร์ชันหลัก (5 หรือ 6) |
เวอร์ชั่นรอง | จำนวนเต็ม | 6 | 2 | รูปแบบไฟล์ ZIM เวอร์ชันรอง |
อุ้ยอ้าย | จำนวนเต็ม | 8 | 16 | รหัสเฉพาะของไฟล์ zim นี้ |
จำนวนบทความ | จำนวนเต็ม | 24 | 4 | จำนวนบทความทั้งหมด |
clusterCount | จำนวนเต็ม | 28 | 4 | จำนวนคลัสเตอร์ทั้งหมด |
urlPtrPos | จำนวนเต็ม | 32 | 8 | ตำแหน่งของพอยน์เตอร์ลิสต์เรียงตาม URL |
titlePtrPos | จำนวนเต็ม | 40 | 8 | ตำแหน่งของพอยน์เตอร์ลิสต์เรียงตาม Title |
clusterPtrPos | จำนวนเต็ม | 48 | 8 | ตำแหน่งของรายการตัวชี้คลัสเตอร์ |
mimeListPos | จำนวนเต็ม | 56 | 8 | ตำแหน่งของรายการประเภท MIME (ขนาดส่วนหัวด้วย) |
หน้าหลัก | จำนวนเต็ม | 64 | 4 | หน้าหลักหรือ 0xffffffff หากไม่มีหน้าหลัก |
เค้าโครงหน้า | จำนวนเต็ม | 68 | 4 | หน้าเค้าโครงหรือ 0xffffffffff ถ้าไม่มีหน้าเค้าโครง |
เช็คซัมPos | จำนวนเต็ม | 72 | 8 | ตัวชี้ไปที่ md5checksum ของไฟล์นี้โดยไม่มีตัวตรวจสอบ สิ่งนี้ชี้ไปที่ 16 ไบต์ก่อนจุดสิ้นสุดของไฟล์เสมอ |