KXP 文件格式详解
约 533 字大约 2 分钟
2023-07-27
.kxp 格式全称 KitX Extensions Package, 是一种封装格式, 用于打包单个插件, 并记录一些额外信息, .kxp 格式顺序记录所有信息
文件结构:
Struct Name | Size | Descr |
---|---|---|
KXP File Header | 16 bytes | Prove it's a .kxp file. |
MD5 Hash Header | 16 bytes | Storage Hash code of all behind value. |
File Map Length | 8 bytes | Storage a Int64 value indicated files count. |
File Map Item (multi) | 16 bytes | Two Int64 for File Name Length and File Body Length. |
File Item (multi) | VAR | File Name and File Body. |
Loader Struct Length | 8 bytes | A Int64 value indicated how long does Loader Struct took. |
Loader Struct | VAR | A string in json format that storage ths Loader Struct. |
Plugin Struct Length | 8 bytes | A Int64 value indicated how long does Plugin Struct took. |
Plugin Struct | VAR | A string in json format that storage ths Plugin Struct. |
KXP 文件校验头 16 字节 用来标明这是一个 kxp 文件, 值固定为
49
74
20
69
73
20
61
20
4B
58
50
20
66
69
6C
65
也就是 "It is a KXP file" 的 ASCII 码MD5 哈希校验值 16 字节 存放后文所有字节的 MD5 哈希校验值
文件地图长度 8 字节 一个 64 位的整数, 表示文件地图的长度
文件地图项 (多个) 16 字节 两个 64 位的整数, 分别表示 文件名的长度 和 文件体的长度
文件项 (多个) 可变长度 文件名 与 文件体
加载器结构长度 8 字节 一个 64 位的整数, 表示加载器结构的长度
加载器结构 可变长度 一个 JSON 格式的字符串, 存放加载器结构
插件结构长度 8 字节 一个 64 位的整数, 表示插件结构的长度
插件结构 可变长度 一个 JSON 格式的字符串, 存放插件结构
其中, 文件地图部分标明了每个文件名, 文件体的长度, 同时记录了文件结构, 方便解码器进行解码, 每个文件地图项都一一对应一个文件项
变更历史
最后更新于: 查看全部变更历史
💾 Feat: Updating translation for English
于 2025/2/8💾 Feat(Plume-Theme): Migrated
于 2025/1/25📝 Chore: Remove hard-coded permalink
于 2025/1/25📦 Struct: Move to
于 2025/1/25notes
folder to match theme's requirements📄 Docs: Updated. (This commit will be cover)
于 2023/8/5📦 Struct: Move default to root dir
于 2023/2/21📄 🎇 Docs, Style: KXP 格式调整
于 2023/1/21💾 Feat: 更新文件头
于 2023/1/21📄 📝 Docs, Chore: 错误代码及文件格式详解文档
于 2023/1/21