DOC復合文件的儲存結構

2022-06-14 16:09:10 字數 1828 閱讀 8625

引用自中國硬碟基地

復合文件和fat檔案系統有許多相似的地方,學習過程中可以對比fat檔案系統進行學習

主扇區配置表(mast)記錄的是sat占用扇區情況,扇區的編號多少(即扇區sid)

扇區配置表(sat)記錄的是乙個流占用扇區的情況,乙個流占用哪些扇區,哪些扇區的sid是多少

短扇區配置表(ssat)記錄的是斷流占用扇區情況

這些配置表的大小,在檔案頭中都有記錄,就像檔案系統中dbr記錄fat表大小一樣

目錄,目錄的起始扇區,在檔案頭中有記錄,每乙個目錄入口就指向乙個流或者倉庫。

上圖為乙個doc復合文件頭部起始扇區

d0cf11e0a1b11ae1 為檔案標準頭部標識(固定值) 占用8位元組

接下來十六個位元組檔案唯一標識,不重要可為0

3e 00 為檔案修訂號(固定值) 占用2位元組

03 00檔案格式修訂號(固定值)占用2位元組

接下來兩個位元組為位元組順序規則標識fe ff 表示位元組按小頭排序,ff fe表示按大頭排序

09 00 (大多數為09,相當於固定值)每扇區的位元組數以2的冪形式表示 ,即2^9=512 占用2位元組

06 00 (大多數為06,相當於固定值)每短扇區位元組數以2的冪形式標識,即2^6=64 占用2位元組

接下來十個位元組留空沒用的

接下來四個位元組為sat配置表占用的扇區數這裡為1f轉為10進製即31,這裡有31個sat配置表

接下來四個位元組為root目錄流起始扇區sid

接下來四個位元組留空沒用的

接下來四個位元組標準流最小大小(相當於固定值)小於這個值就是斷流

接下來四個位元組為短扇區表(ssat)的起始扇區號(sid) 如果不存在短扇區配置表則此處值為 fe ff ff ff

01 00 00 00短扇區配置表數量(大多數都是1個,只有極大的文件才有可能有兩個,相當於固定值)

接下來的四個位元組為存放主扇區配置表(msat)的起始扇區號,如果沒有則為fe ff ff ff

注意:這裡說的存放主扇區配置表的扇區

因為主扇區配置表的前109個sid

是儲存在檔案頭中的

如果主扇區配置表內容太多

檔案頭中存放不下

那麼系統會為主扇區配置表分配其他扇區來存放它

這裡的4個位元組所指的扇區就是額外扇區。

接下來四個位元組為主扇區配置表大小如果不存在額外的主扇區配置表則全為0

17.在往下就是主扇區配置表儲存在檔案頭中sat的sid了。乙個sid占用4個位元組

因為復合文件的檔案頭占用了乙個扇區,所以在通過sid定位實際扇區時要考慮到檔案頭的乙個扇區,將sid+1即為實際扇區位置

比如sid為 00 00 00 00 轉為十進位制即第0個扇區

0(sid轉十進位制數)+ 1(頭部占用了乙個扇區) = 1

得出 sid0扇區位於 第一位扇區

結構化儲存 復合文件 永久物件

這幾天又複習了一下去年學習的com知識,總算是稍許理解了com擴充套件中的結構化儲存 復合文件和永久物件機制。一 結構化儲存的核心概念 結構化儲存在檔案系統基礎之上,又建立了乙個儲存系統,具體來說,是在普通檔案內建立了一套儲存系統 結構 檔案系統可以看成是一棵樹,樹上有子結點,子結點可以使檔案或目錄...

列舉復合檔案的儲存結構

word和excel等檔案均稱為復合檔案。這類檔案內部有乙個 檔案系統 採用 磁碟檔案 的組織方式來組織檔案內的資料,也稱為 檔案中的檔案系統 每個復合檔案中有乙個 根儲存 類似於檔案系統中的 根目錄 根儲存之下是若干 子儲存 類似於 子目錄 和 資料流 類似於 檔案 子儲存之下可以再有子儲存和資料...

列舉復合檔案的儲存結構

列舉復合檔案的儲存結構 word和excel等檔案均稱為復合檔案。這類檔案內部有乙個 檔案系統 採用 磁碟檔案 的組織方式來組織檔案內的資料,也稱為 檔案中的檔案系統 每個復合檔案中有乙個 根儲存 類似於檔案系統中的 根目錄 根儲存之下是若干 子儲存 類似於 子目錄 和 資料流 類似於 檔案 子儲存...