aspose.info
ZH

ZIM 文件格式 - OpenZIM 存档文件

更新于

什么是一 .zim 文件?

扩展名为 .zim 的文件是为离线存储 Wiki 内容而创建的档案。它被认为是最适合在 USB 上存储 Wikipedia 的开放文件格式。它以紧凑的格式存储站点内容。它的名字来源于“Zeno IMproved",这是早期的 Zeno 文件格式。 ZIM 由维基媒体 CH 赞助的 openZIM 项目维护,并得到维基媒体基金会的支持。 ZIM 文件可以通过 Kiwix 和 ZIMReader 等应用程序打开。 OpenZIM 项目在 Github 上托管了 ZIM 文件格式的实现,以供开源社区的贡献。

ZIM 文件格式规范

ZIM 文件格式是在 Zeno 文件格式 之上开发的,不向后兼容。 ZIM 文件格式的格式规范由 openZIM 可在线获取 供开发者参考。 OpenZIM 提供了 C++ 开源实现,LibZim,用于读写 ZIM 文件。

ZIM 文件格式使用 LZMA2 压缩来使内容紧凑。

ZIM 文件格式

ZIM 标头

ZIM 文件以偏移量 0 处的标头开头。所有成分均基于 little-endian,并且所有整数都是无符号整数,即 uint_16、uint_32、uint_64。

字段名称类型偏移量长度说明
幻数整数04识别文件格式的幻数,必须是 72173914 (0x44D495A)
主要版本整数42ZIM 文件格式的主要版本(5 或 6)
小版本整数62ZIM 文件格式的次要版本
uuid整数816此 zim 文件的唯一 ID
文章数整数244文章总数
集群计数整数284集群总数
urlPtrPos整数328按 URL 排序的目录指针列表的位置
titlePtrPos整数408按 Title
clusterPtrPos整数488簇指针列表的位置
mimeListPos整数568MIME 类型列表的位置(也是标题大小)
主页整数644主页或 0xffffffff 如果没有主页
布局页面整数684布局页面或 0xffffffffff 如果没有布局页面
校验和位置整数728指向此文件的 md5checksum 的指针,不包含校验和本身。这总是指向文件结尾之前的 16 个字节。

参考 ##