aspose.info
PT

Formato de arquivo ZIM - Arquivo de arquivo OpenZIM

Atualizado em

O que é um arquivo ZIM?

Arquivos com extensão .zim são arquivos criados para armazenar o conteúdo do Wiki offline. É considerado o formato de arquivo aberto mais adequado para armazenar a Wikipedia em um USB. Ele armazena o conteúdo do site em um formato compacto. Seu nome vem de “Zeno IMproved”, que era o formato de arquivo Zeno anterior. O ZIM é mantido pelo projeto openZIM que é patrocinado pela Wikimedia CH e apoiado pela Wikimedia Foundation. Os arquivos ZIM podem ser abertos por aplicativos como Kiwix e ZIMReader. O projeto OpenZIM hospedou a implementação do formato de arquivo ZIM no Github para contribuição da comunidade OpenSource.

Especificações de formato de arquivo ZIM

O formato de arquivo ZIM foi desenvolvido em cima do formato de arquivo Zeno e não é compatível com versões anteriores. As especificações de formato do formato de arquivo ZIM estão disponíveis online por openZIM para referência do desenvolvedor. OpenZIM forneceu implementação de código aberto C++, LibZim, para leitura e gravação de arquivos ZIM.

O formato de arquivo ZIM usa a compactação LZMA2 para tornar o conteúdo compacto.

Formato de arquivo ZIM

Cabeçalho ZIM

Um arquivo ZIM começa com um cabeçalho que está no deslocamento 0. Todos os constituintes são baseados em little-endian e todos os inteiros são inteiros sem sinal, ou seja, uint_16, uint_32, uint_64.

Nome do campoTipoDeslocamentoComprimentoDescrição
magicNúmerointeiro04Número mágico para reconhecer o formato do arquivo, deve ser 72173914 (0x44D495A)
majorVersioninteiro42Versão principal do formato de arquivo ZIM (5 ou 6)
menorVersãointeiro62Versão secundária do formato de arquivo ZIM
uuidinteiro816id exclusivo deste arquivo zim
Contagem de artigosinteiro244número total de artigos
Contagem de clustersinteiro284número total de clusters
urlPtrPosinteiro328posição da lista de ponteiros de diretório ordenada por URL
titlePtrPosinteiro408posição da lista de ponteiros de diretório ordenada por Title
clusterPtrPosinteiro488posição da lista de ponteiros de cluster
mimeListPosinteiro568posição da lista de tipos MIME (também tamanho do cabeçalho)
Página principalinteiro644página principal ou 0xffffffff se não houver página principal
página de layoutinteiro684página de layout ou 0xffffffffff se não houver página de layout
checksumPosinteiro728ponteiro para o md5checksum deste arquivo sem o próprio checksum. Isso aponta sempre 16 bytes antes do final do arquivo.

Referências