aspose.info
IT

Formato file ZIM - File archivio OpenZIM

Aggiornato

Che cos’è un file ZIM?

I file con estensione .zim sono archivi creati per archiviare il contenuto Wiki offline. È considerato il formato di file aperto più adatto per la memorizzazione di Wikipedia su una USB. Memorizza i contenuti del sito in un formato compatto. Il suo nome deriva da “Zeno IMproved” che era il precedente formato di file Zeno. ZIM è gestito da openZIM project sponsorizzato da Wikimedia CH e supportato dalla Wikimedia Foundation. I file ZIM possono essere aperti da applicazioni come Kiwix e ZIMReader. Il progetto OpenZIM ha ospitato l’implementazione del formato di file ZIM su Github per il contributo della comunità OpenSource.

Specifiche del formato file ZIM

Il formato file ZIM è stato sviluppato su Zeno file format e non è compatibile con le versioni precedenti. Le specifiche del formato del file ZIM sono disponibili online da openZIM per riferimento dello sviluppatore. OpenZIM ha fornito l’implementazione open source C++, LibZim, per leggere e scrivere file ZIM.

Il formato file ZIM utilizza la compressione LZMA2 per rendere il contenuto compatto.

Formato file ZIM

Intestazione ZIM

Un file ZIM inizia con un’intestazione che è all’offset 0. Tutti i costituenti sono basati su little-endian e tutti gli interi sono interi senza segno, ad esempio uint_16, uint_32, uint_64.

Nome campoTipoCompensazioneLunghezzaDescrizione
numero magicointero04Numero magico per riconoscere il formato del file, deve essere 72173914 (0x44D495A)
MajorVersionintero42Versione principale del formato file ZIM (5 o 6)
versione minoreintero62Versione secondaria del formato file ZIM
uuidintero816ID univoco di questo file zim
articoloConteintero244numero totale di articoli
conteggio clusterintero284numero totale di cluster
urlPtrPosintero328posizione dell’elenco di puntatori di directory ordinato per URL
titoloPtrPosintero408posizione dell’elenco puntatori di directory ordinato per Titolo
clusterPtrPosintero488posizione dell’elenco dei puntatori del cluster
mimeListPosintero568posizione dell’elenco dei tipi MIME (anche dimensione dell’intestazione)
pagina principaleintero644pagina principale o 0xffffffff se nessuna pagina principale
pagina layoutintero684pagina di layout o 0xffffffffff se nessuna pagina di layout
checksumPosintero728puntatore al checksum md5 di questo file senza il checksum stesso. Questo punta sempre 16 byte prima della fine del file.

Riferimenti