Difference between revisions of "ZIM file format"
Jump to navigation
Jump to search
Line 34: | Line 34: | ||
|- | |- | ||
| checksumPos || integer || 72 || 8 || pointer to the md5checksum of this file without the checksum itself. This points always 16 bytes before the end of the file. | | checksumPos || integer || 72 || 8 || pointer to the md5checksum of this file without the checksum itself. This points always 16 bytes before the end of the file. | ||
|} | |} | ||
Line 58: | Line 56: | ||
The URL pointer list is a list of 8 byte offsets to the directory entries. | The URL pointer list is a list of 8 byte offsets to the directory entries. | ||
The directory entries are always ordered by URL | The directory entries are always ordered by URL. Ordering is simply done by comparing the URL strings. | ||
Since directory entries have variable sizes this is needed for random access. | Since directory entries have variable sizes this is needed for random access. | ||
Line 212: | Line 210: | ||
The offset addresses uncompressed data. The last pointer points to the end of the data area. So there is always one more offset than blobs. Since the first offset points to the start of the first data, the number of offsets can be determined by dividing this offset by 4. The size of one blob is calculated by the difference of two consecutive offsets. | The offset addresses uncompressed data. The last pointer points to the end of the data area. So there is always one more offset than blobs. Since the first offset points to the start of the first data, the number of offsets can be determined by dividing this offset by 4. The size of one blob is calculated by the difference of two consecutive offsets. | ||
== Namespaces == | == Namespaces == |