aspose.info
RU

Формат файла ZIM — файл архива OpenZIM

Обновлено

.ZIM вариант №

Файлы с расширением .zim представляют собой архивы, созданные для автономного хранения содержимого Wiki. Он считается наиболее подходящим форматом открытого файла для хранения Википедии на USB-накопителе. Он хранит содержимое сайта в компактном формате. Его название происходит от «Zeno IMproved», который был более ранним форматом файлов Zeno. ZIM поддерживается проектом openZIM, который спонсируется Wikimedia CH и поддерживается Фондом Wikimedia. Файлы ZIM можно открывать такими приложениями, как Kiwix и ZIMReader. Проект OpenZIM разместил реализацию формата файла ZIM на Github за вклад сообщества OpenSource.

Спецификации формата файла ZIM

Формат файла ZIM был разработан на основе формата файла Zeno и не имеет обратной совместимости. Спецификации формата файла ZIM доступны в Интернете от openZIM для справки разработчика. OpenZIM предоставил реализацию C++ с открытым исходным кодом, LibZim, для чтения и записи ZIM-файлов.

Формат файла ZIM использует сжатие LZMA2, чтобы сделать содержимое компактным.

Формат ZIM-файла

ZIM-заголовок

Файл ZIM начинается с заголовка со смещением 0. Все составляющие основаны на прямом порядке байтов, а все целые числа являются целыми числами без знака, т.е. uint_16, uint_32, uint_64.

Имя поляТипСмещениеДлинаОписание
магическое числоцелое04Магический номер для распознавания формата файла должен быть 72173914 (0x44D495A)
основная версияцелое42Основная версия формата файла ZIM (5 или 6)
дополнительная версияцелое62Второстепенная версия формата файла ZIM
uuidцелое816уникальный идентификатор этого ZIM-файла
статьяСчетчикцелое244общее количество статей
кластеркаунтцелое284общее количество кластеров
urlPtrPosцелое328позиция списка указателей каталога, упорядоченного по URL
заголовокPtrPosцелое408позиция списка указателей каталога, упорядоченного по Title
кластерПтрПосцелое488положение списка указателей кластера
MIMEListPosцелое568положение списка типов MIME (также размер заголовка)
главная страницацелое644главная страница или 0xffffffff, если нет главной страницы
макетСтраницыцелое684страница макета или 0xffffffffff, если нет страницы макета
контрольная суммапозцелое728указатель на контрольную сумму md5 этого файла без самой контрольной суммы. Это всегда указывает на 16 байтов до конца файла.

Использованная литература