Вътрешен формат на документа MS WORD - всичко за ИТ и програмиране

Написано на 02 януари 2007 г. Публикувано в Visual C++

СЪДЪРЖАНИЕ

3. Достъп на ниско ниво до СТРУКТУРИРАНО СЪХРАНЕНИЕ

Н. Носов. Не знам в Слънчевия град

Нека разкрием „кошмарната тайна на кървавата компания на Microsoft“: погледнете съставния файл с невъоръжени очи и го почувствайте с голите си ръце. „Програмистите“, които могат само да кликват върху икони и да плъзгат снимки между прозорци с мишка, могат да пропуснат този раздел с чиста съвест.

Свързаният файл се състои от цяло число "големи блокове", размерът на всеки от които съответства на един дисков сектор, т.е. 512 байта. Следователно, за разлика от документацията на английски език, ние просто ще ги наричаме сектори. Всички сектори във файла са номерирани, както следва: -1, 0, 1, 2. и т.н.

Сектор -1 съдържа заглавката на съставния файл:

Забележка. Съществува предположение, че при отместване 40h има поле, описващо размера на сектора. В по-голямата част от DOC файловете с дължина до 1 MB това поле съдържа стойността 1 (т.е. размерът на сектора е 512), но рядко 2 (т.е. размерът на сектора е 1024). Вероятно са възможни 3, 4 и т.н. В този случай е по-добре да се говори не за „сектори“, а за „клъстери“. Но идеологията за организиране на съставен файл не се променя от това.