复合文档文件格式研究
作者:Agstick Date: 2007-3-20 Email:agstick@126.com 版权声明:本文仅供个人学习研究,如需复制、转载请注明出处,未经作者许可,不得作任何商业用途。
前 言
复合文档(Compound Document)是一种不仅包含文本而且包括图形、电子表格数据、声音、视频图象以及其它信息的文档。可以把复合文档想象成一个所有者,它装着文本、图形以及多媒体信息如声音和图象。目前建立复合文档的趋势是使用面向对象技术,在这里,非标准信息如图像和声音可以作为独立的、自包含式对象包含在文档中。Microsoft Windows就是使用这种技术,叫做“OLE2 storage file format”或“Microsoft Office compatible storage file format”。
当然Excel、Word等都是用这种格式存储的。本文主要研究复合文档的二进制结构,本文的目的就是为另一篇文章《Excel文件格式研究》(创作中)做准备的。
本文是在英文资料的基础上完成的,文中某些术语的翻译可能不够标准,但都会给出英文原名。关于这方面的中文资料网上几乎找不到,如果您有的话,请发到我的邮箱,谢谢。由于本人水平有限,文中错误难免,欢迎大家批评指正。
目 录
第一章 仓库与流(Storages and Streams)
第二章 扇区与扇区链(Sectors and Sector Chains)
第三章 复合文档头(Compound Document Header)
第四章 扇区配置(Sector Allocation)
第五章 短流(Short-Streams)
第六章 目录(Directory)
第七章 Excel文件实例剖析
第一章 仓库与流
复合文档的原理就像一个文件系统(文件系统:如FAT 与NTFS)。复合文档将数据分成许多流(Streams),这些流又存储在不同的仓库(Storages)里。将复合文档想象成你的D盘,D盘用的是NTFS(NT File System)格式,流就相当于D盘里的文件,仓库就相当于D盘里的文件夹。
流和仓库的命名规则与文件系统相似,同一个仓库下的流及仓库不能重名,不同仓库下可以有同名的流。每个复合文档都有一个根仓库(root storage)。
例:
bwYgm8p4.rar
(246.07 KB, 下载次数: 4028)
[此贴子已经被作者于2007-4-3 19:12:21编辑过] |