根据维基百科,到2015年苹果推出的iwork版本
第一章:iwork2008介绍
1、文档结构:
是一个资源合集:压缩格式的(内含文件夹和文件)
在windows下修改iwork的文件后缀为.rar,解压缩后可以看到:

buildHistoryVersion.plist:属性列表

Contents文件夹包含:
PkgInfo
index.xml.gz:使用GZIP压缩的xml文件,包含了文件的内容主体
QuickLook文件夹包含:
Preview.pdf
Thumbnail.jpg

这两个文件是为了预览准备的

thumbs文件夹:
包含使用tiff格式的缩略图
PageCapThumbV2-1.tiff
PageCapThumbV2-2.tiff 
 
2、文档内容存储位置:
内容以xml的格式存放在index.xml.gz中

第二章:iwork2009介绍
1、文档结构:
格式与iwork2008类似,只是xml文件变为非压缩形式
 
Pages文档处理程序包含:
QuickLook文件夹
buildVersionHistory.plist
index.xml
 
numbers表格处理程序包含:
QuickLook文件夹
buildVersionHistory.plist
index.xml
 

key幻灯片程序包含:

QuickLook文件夹
thumbs文件夹
buildVersionHistory.plist
index.apxl
 
2、文档内容存储位置:
内容以xml的格式存放在index.xml/apxl中
 

第三章:iwork2013介绍

重点介绍这个版本。
1、文档结构:
与早期版本不同,iwork2013 本身就是一个文件夹,使用每个应用程序名称为后缀。
Pages 为 .pages
keynodte 为 .key
numbers 为 .numbers
 
Data文件夹:包含图片对象
Metadata文件夹:
BuildVersionHistory.plist:XML的属性列表,提供历史信息
DocumentIdentifier:一个文本文件,包含一个文档的唯一标识符
Properties.plist:一个二进制的属性列表记录了另外一些文档属性
 
Index.zip:zip压缩文件
Index文件夹
Tables文件夹:一些IWA文件
不同的 IWA 文件,包含文件内容
 
IWA 格式文件其实是使用的 Protobuf 结构组织数据流,并使用了 Snappy 进行压缩
IWA: .iwa(iwork Archive)文件
Snappy:是 Google 的压缩程序
Protobuf:是 Google 的数据序列化的二进制文件,用于创建数据结构。是一种轻便高效的结构化数据存储格式,
可以用于类似 Json 和 xml 的存储结构。非常适合作为在网络通讯中的数据载体。
preview.jpg:文件内容预览
 
 
相关连接:
一个iwork的开源项目:https://github.com/obriensp/proto-dump
介绍iwork文件格式的:https://github.com/obriensp/iWorkFileFormat
protobuf的源码连接:https://github.com/google/protobuf

iwork 文件格式分析的更多相关文章

  1. 多媒体(2):WAVE文件格式分析

    目录 多媒体(1):MCI接口编程 多媒体(2):WAVE文件格式分析 多媒体(3):基于WindowsAPI的视频捕捉卡操作 多媒体(4):JPEG图像压缩编码 多媒体(2):WAVE文件格式分析

  2. 实践2.4 ELF文件格式分析

    实践2.4 ELF文件格式分析 1.ELF文件头 查看/usr/include/elf.h文件: #define EI_NIDENT (16) typedef struct { unsigned ch ...

  3. wav文件格式分析详解

    wav文件格式分析详解 文章转载自:http://blog.csdn.net/BlueSoal/article/details/932395 一.综述    WAVE文件作为多媒体中使用的声波文件格式 ...

  4. AMR音频文件格式分析

    AMR音频文件格式分析 1 概要 如今非常多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式.AMR,全称是:Adaptive Multi-Rate, ...

  5. PE文件格式分析

    PE文件格式分析 PE 的意思是 Portable Executable(可移植的执行体).它是 Win32环境自身所带的执行文件格式.它的一些特性继承自Unix的Coff(common object ...

  6. Linux课题实践四——ELF文件格式分析

    2.4   ELF文件格式分析 20135318 刘浩晨 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目 ...

  7. linux第三次实践:ELF文件格式分析

    linux第三次实践:ELF文件格式分析 标签(空格分隔): 20135328陈都 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文 ...

  8. 20135337——linux实践三:ELF文件格式分析(32位系统)

    ELF文件格式分析 可重定位文件 十六进制形式显示内容 显示各个段.符号表相关信息 查看各个段信息 elf文件头信息 段表 符号表信息 查看堆栈 具体分析 1.ELF文件头信息(小字节优先,均十六进制 ...

  9. 20135306 2.4 ELF文件格式分析

    2.4   ELF文件格式分析 20135306 黄韧 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目标 ...

随机推荐

  1. Java 学习 day05

    01-面向对象(概述) 面向对象 -- 冰箱.打开:冰箱.存储:冰箱.关闭: 02-面向对象(举例) 使用和指挥 -- 对象,不需要关注过程,只关注结果: 一切皆对象,万物皆对象  -- 自<T ...

  2. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

    sftp -b batchfile username@remote_host 报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic, ...

  3. GIT / SVN 提交代码时, 注释该怎么写

    大致可以分为 6 种 : 添加 修改 修复 --> 修正 优化 --> 改进 ;

  4. vue+vuex构建单页应用

    基本 构建工具: webpack 语言: ES6 分号:行首分号规则(行尾不加分好, [ , ( , / , + , - 开头时在行首加分号) 配套设施: webpack 全家桶, vue 全家桶 项 ...

  5. 聚聚科技——php开发笔试题及答案

    聚聚科技是一个刚创立的公司,很小很小,人很少,老板感觉是个典型的北京小伙儿,戾气很重,很有个性.笔试题倒是简单: 1. echo(), print(), print_r()的区别? echo是PHP语 ...

  6. 设计模式 - 单件模式(singleton pattern) 具体解释

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/28595349 单件模式(singleton ...

  7. FI模块与SD、MM的接口配置方法

    [转自 http://blog.itpub.net/195776/viewspace-1023910/] 1 FI/SD 借口配置FI/SD通过tcode VKOA为billing设置过帐科目,用户可 ...

  8. SQL语句性能优化操作

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应 ...

  9. BA优化PnP的思路

    由之前的PnP,可以求出一个R,t,K又是已知的.而且空间点的世界坐标知道,第二个相机位姿的像素坐标也是知道的.就可以利用它们进行优化.首先确定变量为const vector<Point3f&g ...

  10. 理解SQL原理,写出高效的SQL语句

    我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我们还能保证下一段时间系统还能流畅的运行吗?我们还 ...