Difference between revisions of "ZIM file format"
Jump to navigation
Jump to search
(→Header) |
|||
Line 8: | Line 8: | ||
! Field Name !! Type !! Offset !! Length !! Description | ! Field Name !! Type !! Offset !! Length !! Description | ||
|- | |- | ||
| magicNumber || integer || 0 || 4 || Magic number to recognise the file format, must be 72173914 | | magicNumber || integer || 0 || 4 || Magic number to recognise the file format, must be 72173914 | ||
|- | |- | ||
| version || integer || 4 || 4 || ZIM=4, version of the file format | | version || integer || 4 || 4 || ZIM=4, version of the file format | ||
|- | |- | ||
| uuid | | uuid || integer || 8 || 16 || unique id of this zim file | ||
|- | |- | ||
| count || integer || 24 || 4 || total number of articles | | count || integer || 24 || 4 || total number of articles | ||
|- | |- | ||
| indexPtrPos || integer || 28 || 8 || position of the directory pointerlist | | indexPtrPos || integer || 28 || 8 || position of the directory pointerlist | ||
|- | |- | ||
| clusterCount | | clusterCount || integer || 36 || 4 || number of data clusters | ||
|- | |- | ||
| clusterPtrPos | | clusterPtrPos || integer || 40 || 8 || position of the cluster pointer list | ||
|- | |- | ||
| mainPage || integer || 48 || 4 || article index of main page or 0xffffffff if no main page | | mainPage || integer || 48 || 4 || article index of main page or 0xffffffff if no main page | ||
|- | |- | ||
| layoutPage | | layoutPage || integer || 52 || 4 || article index of layout page or 0xffffffffff if no layout page | ||
|} | |} | ||
Each article in the zim file has a directory entry. Since the directory entry has a variable size | Each article in the zim file has a directory entry. Since the directory entry has a variable size we have an index pointerlist which is a list of 4-byte offsets. The pointers points to the directory entries. | ||
== Index pointer list == | == Index pointer list == |