aspose.info
DE

ZIM-Dateiformat - OpenZIM-Archivdatei

Aktualisiert

Was ist eine ZIM-Datei?

Dateien mit der Erweiterung .zim sind Archive, die erstellt wurden, um Wiki-Inhalte offline zu speichern. Es gilt als das am besten geeignete offene Dateiformat zum Speichern von Wikipedia auf einem USB-Stick. Es speichert Website-Inhalte in einem kompakten Format. Sein Name kommt von “Zeno IMproved”, dem früheren Zeno-Dateiformat. ZIM wird von openZIM project verwaltet, das von Wikimedia CH gesponsert und von der Wikimedia Foundation unterstützt wird. ZIM-Dateien können von Anwendungen wie Kiwix und ZIMReader geöffnet werden. Das OpenZIM-Projekt hat die Implementierung des ZIM-Dateiformats auf Github für Beiträge der OpenSource-Community gehostet.

ZIM-Dateiformatspezifikationen

Das ZIM-Dateiformat wurde auf der Grundlage von Zeno-Dateiformat entwickelt und ist nicht abwärtskompatibel. Die Formatspezifikationen des ZIM-Dateiformats sind online verfügbar von openZIM als Referenz für Entwickler. OpenZIM hat eine C++-Open-Source-Implementierung, LibZim, zum Lesen und Schreiben von ZIM-Dateien bereitgestellt.

Das ZIM-Dateiformat verwendet die LZMA2-Komprimierung, um den Inhalt kompakt zu machen.

ZIM-Dateiformat

ZIM-Header

Eine ZIM-Datei beginnt mit einem Header, der bei Offset 0 ist. Alle Bestandteile basieren auf Little-Endian und alle Ganzzahlen sind Ganzzahlen ohne Vorzeichen, dh uint_16, uint_32, uint_64.

FeldnameTypOffsetLängeBeschreibung
magischeZahlganze Zahl04Magische Nummer zur Erkennung des Dateiformats, muss 72173914 (0x44D495A) sein
Hauptversionganze Zahl42Hauptversion des ZIM-Dateiformats (5 oder 6)
Nebenversionganze Zahl62Nebenversion des ZIM-Dateiformats
uuidganze Zahl816eindeutige ID dieser Zim-Datei
Artikelzahlganze Zahl244Gesamtzahl der Artikel
clusterCountganze Zahl284Gesamtzahl der Cluster
urlPtrPosganze Zahl328Position der Verzeichnis-Zeigerliste, geordnet nach URL
titlePtrPosganze Zahl408Position der Verzeichnis-Zeigerliste, geordnet nach Titel
clusterPtrPosganze Zahl488Position der Cluster-Pointer-Liste
mimeListPosganze Zahl568Position der MIME-Type-Liste (auch Header-Größe)
Hauptseiteganze Zahl644Hauptseite oder 0xffffffff falls keine Hauptseite
LayoutSeiteganze Zahl684Layoutseite oder 0xffffffffff wenn keine Layoutseite
checksumPosganze Zahl728Zeiger auf die md5-Prüfsumme dieser Datei ohne die Prüfsumme selbst. Dieser zeigt immer 16 Bytes vor das Ende der Datei.

Verweise