Difference between revisions of "ZIM file format"

Jump to navigation Jump to search
35 bytes added ,  18:05, 12 April 2009
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               || integer || 8 || 16 || unique id of this zim file
| 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   || integer || 36 || 4 || number of data clusters
| clusterCount           || integer || 36 || 4 || number of data clusters
|-
|-
| clusterPtrPos   || integer || 40 || 8 || position of the cluster pointer list
| 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           || integer || 52 || 4 || article index of layout page or 0xffffffffff if no layout page
| 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, we have a index pointerlist, which is a list of 4-byte offsets, which points to the directory entries.
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 ==

Navigation menu