aspose.info
RO

Format fișier ZIM - fișier arhivă OpenZIM

Actualizat

Ce este un fișier ZIM?

Fișierele cu extensia .zim sunt arhive create pentru a stoca offline conținutul Wiki. Este considerat cel mai potrivit format de fișier deschis pentru stocarea Wikipedia pe un USB. Stochează conținutul site-ului într-un format compact. Numele său provine de la „Zeno IMproved”, care a fost formatul de fișier anterior Zeno. ZIM este întreținut de proiectul openZIM , care este sponsorizat de Wikimedia CH și susținut de Fundația Wikimedia. Fișierele ZIM pot fi deschise de aplicații precum Kiwix și ZIMReader. Proiectul OpenZIM a găzduit implementarea formatului de fișier ZIM pe Github pentru contribuția comunității OpenSource.

Specificații pentru formatul fișierului ZIM

Formatul de fișier ZIM a fost dezvoltat pe lângă formatul de fișier Zeno și nu este compatibil cu versiunea inversă. Specificațiile de format ale formatului de fișier ZIM sunt disponibile online de openZIM pentru referință de către dezvoltatori. OpenZIM a furnizat implementare C++ open source, LibZim, pentru citirea și scrierea fișierelor ZIM.

Formatul de fișier ZIM utilizează compresia LZMA2 pentru a face conținutul compact.

Format de fișier ZIM

Antet ZIM

Un fișier ZIM începe cu un antet care este la offset 0. Toți constituenții se bazează pe little-endian și toate numerele întregi sunt întregi fără semn, adică uint_16, uint_32, uint_64.

Nume câmpTipOffsetLungimeDescriere
magicNumberîntreg04Numărul magic pentru a recunoaște formatul fișierului, trebuie să fie 72173914 (0x44D495A)
majorVersionîntreg42Versiunea majoră a formatului de fișier ZIM (5 sau 6)
minorVersionîntreg62Versiune minoră a formatului de fișier ZIM
uuidîntreg816ID unic al acestui fișier zim
număr de articoleîntreg244numărul total de articole
clusterCountîntreg284numărul total de clustere
urlPtrPosîntreg328poziţia listei de indicatori a directorului ordonată după URL
titlePtrPosîntreg408poziţia listei de indicatori a directorului ordonată după Titlu
clusterPtrPosîntreg488poziţia listei de pointeri cluster
mimeListPosîntreg568poziţia listei de tipuri MIME (de asemenea, dimensiunea antetului)
mainPageîntreg644pagina principală sau 0xffffffff dacă nu există o pagină principală
layoutPageîntreg684pagina de aspect sau 0xffffffffff dacă nu există o pagină de aspect
checksumPosîntreg728pointer către md5checksum a acestui fișier fără suma de control în sine. Aceasta indică întotdeauna cu 16 octeți înainte de sfârșitul fișierului.

Referințe