解析IOS二进制格式的bplist

2023-05-16

关于二进制格式的plist,搜到一篇博客《详解Binary Plist格式》,介绍的很详细,但是结合github上关于一份解析bplist的代码通过结果实际来看,博客中解析对象表的说明出现了问题,同原文不同处贴在下面

 

 

类型HEX说明
单字节0XX=0:空值 X=8:布尔假 X=9:布尔真
整数1X后面跟的2^X个字节就是这个数字的值
浮点数2X后面跟的2^X个字节就是这个数字的值
日期33后面接着8个字节的浮点数时间戳
二进制4XX表示这段数据的字节数,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段数据的字节数
字符串5XASCII编码 X表示这段数据的字节数,如果X=F则后面作为整数对象继续解析所得数既为字节数,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段数据的字节数
字符串6XUnicode编码 X表示这段数据的字节数,如果X=F则后面作为整数对象继续解析所得数既为字节数 ,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段数据的字节数,记得双字节!
UID8XX+1表示这段数据的字节数 现在被当做字符串来处理
数组AXX表示其元素个数,如果X=F则后面作为整数对象继续解析所得数既为个数,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这个数组的元素个数,  后面接着X或Z个元素在偏移表的位置
集合CXX表示其元素个数,如果X=F则后面作为整数对象继续解析所得数既为个数,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段集合的元素个数, 后面接着X或Z个元素在偏移表的位置
字典DXX表示其元素个数,如果X=F则后面作为整数对象继续解析所得数既为个数 ,如果X=F,则后面取一个字节的后四位记为Y,随后的2^Y个字节解析为整数Z,即为这段数据的字节数, 后面接着X或Z个key在偏移表的位置,X个value在偏移表的位置

 

 

 

另我个人写了一份解析bplist的python代码,上传在了github

 

新开公众号“码家村”,欢迎关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析IOS二进制格式的bplist 的相关文章

随机推荐

  • Matlab读写矩阵到文本文件

    问题描述 xff1a 使用matlab 如何将数据一次从文本文件读出 xff1f 如何将矩阵数据一次性写入文本文件 xff1f 批量读出文本中的数据常用的函数是importdata xff0c 可以分别导入数据中的字符和数值数据 xff0c
  • 算法的时间复杂度

    转自 xff1a http blog csdn net booirror article details 7707551 算法的时间复杂度被设计来评价其语句执行次数 xff0c 但它又不是语句执行次数 xff0c 而是次数的同数量级函数 x
  • 解决VS2010 C++错误LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    错误描述 xff1a 安装VS2012后原来VS2010在编译时会产生链接错误 LINK fatal error LNK1123 转换到 COFF 期间失败 文件无效或损坏 错误分析 xff1a VS 编译时链接器会将输入文件转为 COFF
  • 如何用20小时学会新技能

    方法来自于TED演讲 xff1a How to learn anything 作者有一本同名书籍 xff1a 关键20小时如何学会任何技能 知乎上的扩展分析在 xff1a 学习一个新领域的知识的最佳方法和最快时间各是什么 xff1f 知乎上
  • 运算优先级的坑a[i++] = a[j]

    a i 43 43 61 a j 等价于 a i 61 a j i 43 43
  • Windows下安装TensorFlow快速教程

    参考 xff1a https www tensorflow org install install windows 一 安装环境 TensorFlow即可以支持CPU xff0c 也可以支持CPU 43 GPU 前者的环境需求简单 xff0
  • 使用Google Earth Engine(一):提取下载MODIS、Landsat点数据

    现在可以使用Google Earth Engine 快捷的提取MODIS Landsat等产品的点 xff08 或区域 xff09 数据到自己的Google Drive下载 PS GEE可以做全球尺度长时间序列的数据分析出图等 xff0c
  • Mark 概率图模型PGM和马尔科夫随机场MRF

    待续 概率图模型 xff08 PGM xff09 有必要系统地学习一下吗 xff1f PGM学习之七 MRF xff0c 马尔科夫随机场
  • cmd下文件md5查看插件

    文件md5可以帮助我们检测文件是否被篡改或者比较两个文件是否含有完全相同的内容 xff0c 在linux及mac系统之中 xff0c 都可以在终端窗口使用md5命令查看指定文件的md5值 xff0c 然而在微软window系统的cmd下却没
  • PowerShell: 如何解决File **.ps1 cannot be loaded because the execution of scripts is disabled on this sy

    转自 xff1a http www cnblogs com findcaiyzh archive 2012 09 21 2696282 html PowerShell 默认不允许执行 ps1脚本文件 运行ps1文件会得到下面的错误 File
  • JavaScript入门教程链接

    看到一些适合JavaScript初学者的一些入门教程记录下 xff0c 初级教程基本都是介绍语法的 xff0c 学习JS时最好能够结合HTML CSS和WEB开发的概念一起学习会理解比较深 中文教程有 xff1a W3school的JS教程
  • .NET Arrary OutOfMemoryException

    在 NET中如果数组大小超过2GB xff0c 会遇到错误 xff1a OutOfMemoryException Array dimensions exceeded supported range 此时可以通过修改App config中设置
  • Get help of python and python package function/获取python及python包函数的帮助文档

    摘要 xff1a 快速获取函数的帮助文档是阅读陌生程序的需求 xff0c 也是学习编程语言的有效方法 对于python和python包 xff0c 均有这样的支持 这里以numpy为例 xff0c 说明其获取帮助的方法 xff0c 其一使用
  • Python Numpy Tutorial / Python Numpy 教程 (矩阵和图像操作)

    Python Numpy教程介绍了Python基础 Python Numpy的矩阵和矩阵运算 SciPy的图像读写处理函数 matplotlib的绘图和图像显示 xff08 plot和imshow xff09 等 这些都是深度学习中对于矩阵
  • Python获取当前路径

    Refs https blog csdn net qq 15188017 article details 53991216 假设py文件路径为 F SEG myResearch myProject 2 test py Method 1 sy
  • Matlab去除二值图像小对象 bwareaopen

    From https ww2 mathworks cn help images ref bwareaopen html bwareaopen Remove small objects from binary image collapse a
  • 百度地图POI数据获取

    转载自 xff1a https blog csdn net baidu 26646129 article details 80464447 本文主要介绍百度地图POI数据获取 xff1a 从百度地图得到POI数据 xff0c 以json格式
  • 遥感影像降位16位到8位

    From https blog csdn net shenshanxiaozhu article details 53224554 常用卫星影像基本上都是16位影像 xff0c 在某些应用场景下需要将16位影像降到8位影像 xff0c 这样
  • ipython notebook 如何打开.ipynb文件?

    三种方法查看 ipynb 文件 xff1a 1 xff0c GitHub 中可以直接打开 ipynb 文件 2 xff0c 可以把 ipynb 文件对应的下载链接复制到 https nbviewer jupyter org 中查看 3 xf
  • 解析IOS二进制格式的bplist

    关于二进制格式的plist xff0c 搜到一篇博客 详解Binary Plist格式 xff0c 介绍的很详细 xff0c 但是结合github上关于一份解析bplist的代码通过结果实际来看 xff0c 博客中解析对象表的说明出现了问题