关于二进制格式的plist,搜到一篇博客《详解Binary Plist格式》,介绍的很详细,但是结合github上关于一份解析bplist的代码通过结果实际来看,博客中解析对象表的说明出现了问题,同原文不同处贴在下面
类型 | HEX | 说明 |
---|---|---|
单字节 | 0X | X=0:空值 X=8:布尔假 X=9:布尔真 |
整数 | 1X | 后面跟的2^X个字节就是这个数字的值 |
浮点数 | 2X | 后面跟的2^X个字节就是这个数字的值 |
日期 | 33 | 后面接着8个字节的浮点数时间戳 |
二进制 | 4X | X表示这段数据的字节数,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段数据的字节数 |
字符串 | 5X | ASCII编码 X表示这段数据的字节数, |
字符串 | 6X | Unicode编码 X表示这段数据的字节数, |
|
||
数组 | AX | X表示其元素个数, |
集合 | CX | X表示其元素个数, |
字典 | DX | X表示其元素个数, |
另我个人写了一份解析bplist的python代码,上传在了github