Запись doc означает что
DOC (расширение имени файла)
.DOC или .doc (от англ. document ) — расширение имени файла, используемое для файлов, представляющих текст, с разметкой или без.
Майкрософт
В 1990-х корпорация Microsoft стала использовать расширение для серии проприетарных форматов файлов своего текстового процессора Microsoft Word. В результате монополии Microsoft на рынке офисных продуктов «DOC» стало синонимом этого формата файлов. Другие значения расширения «.doc» практически вышли из употребления на платформе IBM PC.
Двоичные файлы формата DOC содержат большее количество информации о форматировании текста (например, сценарии), чем файлы документов, использующие другие форматы Microsoft (RTF и др.), но хуже совместимы с текстовыми редакторами сторонних разработчиков.
В 2008 году Microsoft сделала доступной спецификацию формата, однако бесплатно использовать её можно только для некоммерческих целей. Позже формат был включён в спорное Microsoft Open Specification Promise.
Ссылки
Полезное
Смотреть что такое «DOC (расширение имени файла)» в других словарях:
Расширение имени файла — (англ. filename extension, часто говорят просто расширение файла или расширение) последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с… … Википедия
Список расширений имени файла/D — / * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Примечание: Поскольку расширение имени файла может быть любым, представленный список не является полным … Википедия
Список расширений имени файла/B — / * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Примечание: Поскольку расширение имени файла может быть любым, представленный список не является полным … Википедия
Список расширений имени файла/T — / * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Примечание: Поскольку расширение имени файла может быть любым, представленный список не является полным … Википедия
Расширение файла — Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых … Википедия
Файловое расширение — Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых … Википедия
Формат файла — Формат спецификация структуры данных, записанных в компьютерном файле. Формат файла обычно указывается в его имени, как часть, отделённая точкой (обычно эту часть называют расширением имени файла, хотя, строго говоря, это неверно). Например,… … Википедия
Расширения — Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых … Википедия
Формат файлов — Термин формат файла (или тип файла) используется для описания структуры данных, записанных в компьютерном файле. Так как файл представляет собой просто последовательность битов (то есть нулей и единиц), компьютерные программы, сохраняющие данные… … Википедия
Запись doc означает что
Не снимайте пометку о выставлении на переименование до окончания обсуждения.
Дата постановки — 13 декабря 2012.
.DOC или .doc (от англ. document ) — расширение имени файла, используемое для файлов, представляющих текст, с разметкой или без.
Microsoft
В 1990-х корпорация Microsoft стала использовать расширение для серии проприетарных форматов файлов своего текстового процессора Microsoft Word. В результате монополии Microsoft на рынке офисных продуктов «DOC» стало синонимом этого формата файлов. Другие значения расширения «.doc» практически вышли из употребления на платформе IBM PC.
Двоичные файлы формата DOC содержат большее количество информации о форматировании текста (например, сценарии), чем файлы документов, использующие другие форматы Microsoft (RTF и др.), но хуже совместимы с текстовыми редакторами сторонних разработчиков. И сами файлы, созданные Microsoft Word разных версий, не всегда совместимы между собой.
В 2008 году Microsoft сделала доступной спецификацию формата, однако бесплатно использовать её можно только для некоммерческих целей. Позже формат был включён в спорное Microsoft Open Specification Promise.
Ссылки
Полезное
Смотреть что такое «DOC» в других словарях:
Doc — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. <<
Doc(k)s — est une revue de poésie contemporaine, qui explore les formes visuelles, sonores et expérimentales qui ont marqué le XXe siècle. Elle est actuellement dirigée et éditée par Akenaton. Sommaire 1 L évolution de la revue 2 Revue et matière… … Wikipédia en Français
.doc — (informatique) Pour les articles homonymes, voir DOC. En informatique DOC ou doc (abréviation de « document ») est une extension de nom de fichier, traditionnellement utilisée pour la documentation en format texte propriétaire, sur une… … Wikipédia en Français
Doc — steht für: 1 (4 Chlor 2,5 dimethoxyphenyl)propan 2 ylazan, der Trivialnamen des in Deutschland weder verkehrs noch verschreibungsfähigen Betäubungsmittels Declaration of Conformity; siehe Konformitätserklärung Diesel Oxidation Catalyst, siehe… … Deutsch Wikipedia
DOC — steht für: 1 (4 Chlor 2,5 dimethoxyphenyl)propan 2 ylazan, der Trivialnamen des in Deutschland weder verkehrs noch verschreibungsfähigen Betäubungsmittels 11 Deoxycorticosteron Date of Conception, die medizinische Bezeichnung für das… … Deutsch Wikipedia
doc — sigla, agg.inv. 1. sigla denominazione di origine controllata 2. agg.inv. CO di vino o di altro prodotto alimentare, contrassegnato con un marchio che garantisce a norma di legge la provenienza territoriale e la qualità: un barolo doc, un… … Dizionario italiano
DOC — Saltar a navegación, búsqueda DOC puede referirse a: El formato de archivo utilizado por el programa informático Microsoft Word. La sigla de denominación de origen controlada. Obtenido de DOC Categoría: Wikipedia:Desambiguación … Wikipedia Español
DOC — [Abk. für engl. dissolved organic carbon = gelöster org. Kohlenstoff]: in der Wasseranalytik Bez. für den Anteil gelösten, org. gebundenen Kohlenstoffs am Gesamtgehalt org. Kohlenstoffs (↑ TOC). * * * I DOC, Physiologie: Abkürzung für … Universal-Lexikon
doc — [ dak ] noun count SPOKEN a doctor. Also used to talk to or about a doctor: We usually go to Doc Fletcher … Usage of the words and phrases in modern English
doc — (doctor) dÉ’k n. person who is licensed to practice medicine (i.e. physician, medic, surgeon); man, guy, fellow (Informal) doc (document) dÉ’k n. paper file, any official paperwork; computer file containing saved work (Computers) … English contemporary dictionary
DOC 59 — – Gruppe für Filmgestaltung wurde auf Initiative von Ferdinand Khittl und Haro Senft nach einigen vorbereitenden Zusammenkünften am 9. April 1959 als gemeinnütziger Verein in München Schwabing von Filmemachern gegründet, die vorwiegend im Bereich … Deutsch Wikipedia
Файл формата DOC: чем открыть, описание, особенности
Сегодня документооборот компаний и предприятий в основном ведется в электронном виде. Для этого испо.
Сегодня документооборот компаний и предприятий в основном ведется в электронном виде. Для этого используется текстовый процессор Microsoft Word. В статье мы рассмотрим главные признаки текстового формата, узнаем, как открыть файл DOC и где скачать программу для открытия файлов DOC.
Общее описание
Формат применяется в системе Microsoft Word, которая включает Excel, Outlook, Photo Draw, PowerPoint и Publisher. В редактор встроены функции форматирования текста, работа с таблицами и иллюстрациями, настройка формата печати и другие.
История возникновения
Файловый формат DOC – интеллектуальная собственность корпорации Microsoft и принадлежит к категории проприетарного (частного, несвободного) ПО.
Первая сборка Word выпущена в 1985 году как 16-битное приложение PC-DOS / MS-DOS. Разработчики компании постоянно модернизировали программу и формат просуществовал вплоть до 2007 года. Тогда появилась Microsoft Word 2007 и новый формат текстовых документов – DOCX на основе двоичного кода XML.
Как и чем открыть
Представляем список программ и приложений, которые позволяют открыть DOC онлайн, а также на ревизиях операционки Windows 7 и 10.
Открыть онлайн
Можно открыть файл DOC онлайн на сервисе Word Online. Доступны все функции текстового процессора:
Авторизуйтесь на сайте, чтобы открыть документ DOC онлайн, или установите программу на компьютер.
Второй способ открыть файл DOC онлайн — Google Docs. Редактируйте файл вместе с коллегами, общайтесь через встроенный чат, контролируйте доступ к файлу. Документ конвертируется, при этом исходный файл останется без изменений.
На компьютере
Расскажем о программах, которые помогут открыть DOC без доступа к интернету и подойдут для разных выпусков Windows.
В Windows 10
В Windows 7
Посмотрим, чем открыть формат DOC на 7-й Виндовс.
Программа Doc Viewer 2.0 подходит только для просмотра текстового документа, режим редактирования недоступен. Включена опция передачи файлов по электронке.
На андроиде
Расскажем, чем открыть файл DOC на платформе Android. Эти утилиты можно скачать у нас на сайте.
В чем разница между Doc и DocX файлами и как их восстановить?
DocX был выпущен относительно недавно и главным его плюсом, относительно предшественника Doc, можно назвать меньший размер документа. В названии DocX, X означает Xml.
Однако в чем разница между Doc и DocX форматом, кроме отличий в размере файла? В этой статье мы подробно разберем преимущества каждого и сравним их. Обратите внимание, рассматриваемые форматы не имеют ничего общего с файлами DDOC и ADOC.
Содержание статьи:
В чем разница между Doc и DocX?
Doc
Многие годы назад Microsoft Word использовал Doc в качестве текстового файла по-умолчанию. Этот формат присутствует в операционной системе с первого выпуска пакета Word для MS-DOS.
Вплоть до 2006 года, когда только был запущен Microsoft Word, он являлся проприетарным форматом. То есть являлся частной собственностью компании, которой был разработан, и мог использоваться только оригинальным пакетом приложений. С тех пор многое изменилось и формат Doc может быть открыт большинством сторонних текстовых редакторов.
Doc включен в такие популярные программы обработки текстовых файлов, как LibreOffice Writer, OpenOffice Writer, KingSoft Writer и другие, их список довольно велик.
Вы можете использовать данные программы для открытия и редактирования файлов Doc. Не менее популярно интернет приложение Google Поисковика — Google Docs. Оно позволяет не только сохранять написанные документы в Doc формате, но и загружать их на сайт для дальнейшей работы.
DocX
В 2007 году формат Doc вынужденно отходит на второй план, поскольку на сцену выходит новый DocX, созданный Microsoft как преемник устаревшего документа. Он был сделан в связи с растущей конкуренцией между свободными и открытыми форматами, такими как Open Office и ODF.
В DocX весь код был написан в формате Xml. Именно по этой причине к названию старого Doc-файла добавили букву платформы, на которой была создана свежая версия. Новое кодирование соответственно принесло свои изменения и дополнительные возможности в работе.
DocX, являющийся результатом стандартов, представленных под названием Office Open XML, принес такие улучшения, как уменьшение размера файлов. Данное изменение проложило путь компании к разработке форматов PPTX и XLSX.
Форматирование Doc в DocX
В подавляющем большинстве случаев, любое программное обеспечение, работающее с текстами, и которое не может открыть старый формат Doc, способно преобразовать его в DocX. То же самое можно сделать и в обратном направлении.
Данная проблема возникает в случае, если пользователь работает в Word 2003 или более ранних версиях приложения. В этом случае необходимо открыть файл DocX в Word 2007 или более поздней версии и пересохранить его в Doc.
Компания Microsoft всегда стремится к максимальной совместимости своего продукта. Поэтому для старых версий Word был выпущен соответствующий пакет совместимости, который можно установить для поддержки формата DocX.
Если ваш Word все же не поддерживает DocX, а нужен именно он, не стоит отчаиваться! Существуют такие приложения как Google Docs, LibreOffice Writer и ряд других, способных помочь конвертировать любой Doc-файл в DocX, RTF, TXT и т.д.
Какой формат использовать? Doc или DocX?
На самом деле, вопрос “что использовать” касательно Doc и DocX не стоит настолько остро, чтобы он стал делом принципа. Оба этих формата используются одинаково широко всеми программами, так или иначе работающими с текстом.
Тем не менее, DocX лучше, поскольку приводит к существенному уменьшению размеров файла. Такие документы гораздо легче пересылать по почте и открывать для чтения. Еще одним преимуществом DocX является его база — Office Open XML, что позволяет документу поддержание расширенных функций. Многие приложения постепенно отказываются от сохранения документов в формате Doc.
Подводя итоги, принципиальной разницы между форматами нет. Исключением здесь выступает вопрос размера файлов и того, что от поддержания Doc постепенно отказываются разные текстовые программы. Таким образом, рекомендуем переходить на использование DocX, если вы все еще вынуждены работать с Doc.
Как восстановить Doc и DocX файлы?
Потеря важной информации в современном цифровом мире далеко не редкость. Многие из нас сталкивались со случайным стиранием файла путем использования комбинации Shift + Del или, того хуже, сбоем жесткого диска, вследствие чего терялись все документы. Если вы узнаете в этом свою ситуацию, читайте дальше и мы непременно поможем вам вернуть утерянные Doc и DocX файлы!
Приложение Starus Office Recovery 2.6 станет хорошим выбором для любого офисного сотрудника, ежедневно работающего над большим количеством документов, которые крайне важны для его фирмы. Интуитивно понятный русскоязычный интерфейс, высокая производительность и точность сканирования позволят в короткие сроки найти и восстановить удаленные файлы.
Изучить информацию о восстановлении текстовых файлов подробнее вы можете в статье «Как восстановить документы Microsoft Office”.
Похожие статьи про восстановление данных:
Как восстановить удаленный MOV файл
Потеря важных документов вследствие случайного удаления — это далеко не редкость. Сами того не.
Автоматическое сохранения документов и восстановление из резервной копии
Работая с документами Microsoft Office, наши пользователи часто обращаются за помощью в службу подде.
Восстановление файлов с помощью контентного анализа
Контентный анализ диска – один из столпов современной индустрии восстановления информации. С помощью.
Внутренности вордовских файлов: просто ужас
О сложности и жуткости вордовских файлов давно ходили легенды. Известно было, что формат этот крайне запутанный, а к тому же еще и полностью засекреченный, так что о половине тамошних полей можно было только догадываться.
Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.
А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.
Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Слава богу, что я разбирал эти файлы на Перле, а не на каком-нибудь автокоде Си. Высокий уровень языка и куча готовых библиотек (например, для чтения разных кодовых страниц) — это дар божий.
Так что работа в совокупности заняла неделю, и самым сложным было понять внутренний формат. Конечно, понимание это не совсем полное, потому что моей задачей было вытащить из документа одни тексты без всякого форматирования, но уж это я сделал тщательно.
Итак, как же устроены вордовские файлы?
Контейнер
Начнем с того, что это совсем не вордовские файлы, а некий универсальный контейнер, в который упакованы собственно документы. В такой контейнер засунуты все файлы Офиса, а, может быть, и еще что-нибудь.
Формат контейнера называется по-разному — docfile, ole storage, compound document file. Уже сам разнобой в названиях намекает на то, что он не сильно-то и нужен, поскольку действительно полезная вещь обычно имеет одно и четкое название. Основная его идея — иметь возможность запихать в один файл несколько других. Самым разумным было бы (как и сделали в OpenOffice) упаковать все в архив ZIP (можно без архивации, если она не нужна). Формат известен огромному множеству программ, компактен, легко разбирается. Но в «Майкрософте», очевидно, процветает синдром «Not invented here». Главное — изобрести велосипед, пусть и трехколесный, но собственный.
В принципе, формат OLE Storage достаточно разумен и не производит впечатление чего-то совсем идиотского. Но… он совершенно не нужен. Фактически, это что-то типа файловой системы FAT16, засунутой внутрь отдельного файла. Это не то что стрельба из пушки по воробьям, а истребление этих самых воробьев ядерными торпедами. В документе, внутри которого лежит несколько файлов, не нужна файловая система, находящаяся не менее чем на уровне ФС времен ДОС.
Итак, файлы CDF (как их называет юниксовская утилитка file) начинаются с заголовка. В заголовке отведено место под первую сотню записей ТРФ (таблицы размещения файлов, в просторечии — ФАТ). ФАТ там самый натуральный, очень похож на то, что можно найти на досовских дискетках. Остальные записи ТРФ лежат в отдельных секторах, соединенных связанным списком. Дополнительные сектора бывают только в больших (>7мб) файлах.
По табличке ФАТ/ТРФ можно собрать содержимое любого внутреннего файла (в терминологии МС он называется потоком, но это только запутывает дело), если знать, с какого блока он начинается. Начальные блоки разных структур написаны, естественно, в заголовке. Дальше из таблицы можно вытянуть всю цепочку секторов, в котором записано содержимое этого псевдофайла.
В частности, у CDF есть корневой каталог, физически размазанный по куче секторов. Это самый настоящий каталог, опять-таки, очень напоминающий старый досовский. Правда, для эффективности (или для выпендрежа) он выполнен не просто линейным списком, а сбалансированным двоичным деревом. Это значит, что в него без потери эффективности поиска можно записывать десятки тысяч отдельных записей. Зачем это нужно в файле, в котором записей бывает обычно штук пять, ну иногда, двадцать, ну максимум сто штук (презентация с огромным количество картинок) — знают только в Редмонде. Кстати, имена файлов в каталоге хранятся в UTF16 — тоже на всякий случай.
По каталогу можно определить начальный сектор любого файла и с помощью ТРФ вытянуть всю его цепочку размещения.
Поскольку размер блока немаленький (обычно 512 байт, по спецификации возможно также 4096), то при хранении мелких псевдофайлов, теоретически можно потерять много свободного места. Поэтому существует отдельное хранилище, поделенное на блочки по 64 байта. Хранилище опять-таки вытягивается по цепочке ФАТ.
Чтобы указать, какие блочки какому файлу принадлежат, существует отдельная табличка ФАТ или, вернее сказать, миниФАТ.
Итак, чтобы добраться до вордовского документа, надо сделать следующее:
1. Прочитать заголовок CDF
2. Загрузить в память ФАТ — таблицу размещения файлов, собрав ее по цепочке секторов.
3. Загрузить табличку МиниФАТ, собрав ее по цепочке ТРФ
4. Загрузить хранилище блочков, собрав ее по цепочке ТРФ
5. Загрузить корневой каталог, собрав ее по цепочке ТРФ
6. Разобрать каталог и преобразовать его во что-то читаемое
7. Найти в каталоге запись WordDocument
8. Если это маленький файл, то собрать его с помощью миниТРФ из хранилища для блочков.
9. Если большой, то вытянуть с диска сектора по цепочке ТРФ.
Каждый шаг сам по себе не особенно сложен, но в совокупности они вызывают исключительно недоумение. Зачем такие сложности? Почему нельзя было разместить после заголовка обыкновенный линейный каталог, а после него непрерывно, друг за другом записывать внутренние файлы?
Единственное, что можно предположить — все это сделано для того, чтобы была возможность дописывать подфайлы, не трогая начало основного файла. Надо заметить, что, во-первых, это не сильно востребованная операция, поскольку все программы обычно записывают документы от начала до конца в один проход. Исключение составляет только MS Word и то только в пресловутом режиме быстрого сохранения, проклятом пользователями. А во-вторых, даже в этих условиях все равно не получится не трогать начало основного файла, поскольку надо обновлять каталоги, ТРФ и заголовки.
В общем, «Майкрософт» в своем амплуа. Зачем делать просто, если можно сложно и запутанно?
WordDocument
Формат CDF при всей своей монструозности хотя бы логичен и не очень сложен (если сравнивать с остальным содержимым вордовского документа). Его описание занимает всего каких-то двадцать страниц — тьфу по сравнению с 300 страницами формата Ворда.
Формат документа сложно даже назвать форматом, гораздо больше к нему подойдет определение каменной летописи. Представьте себе такой каменный обрыв, на котором отпечаталось пятьдесят миллионов лет истории планеты. Вот мезозойский слой, вот кайнозойский, вот отпечаток крыла птеродактиля, а сверху уже третичные отложения. Примерно так же выглядит и документ изнутри.
Достаточно посмотреть на заголовок, который занимает чуть ли не треть файла. Заголовков целых три. Сначала идет один небольшой, в котором половина записей зияет дырами «Reserved» или «Not used». Раньше, в мезозое, там явно что-то лежало, но потом было выкинуто на свалку истории. Здесь же имеется версия записавшей программы, по которой в коде, похоже, выполняется огромный switch/case.
Затем идет второй заголовок, состоящий из шестнадцатибитовых слов. В нем нет вообще ничего полезного. В его начале прописан размер явно с таким расчетом, что здесь будут в будущем откладываться панцири простейших.
После этого идет третий заголовок, на этот раз современный, из длинных слов (32 бита). Он немерянной длины, в начале тоже указывает количество записей с прицелом на дальнейшее расширение, и в основном представляет собой список, где искать различные таблицы и куски файла — пары начало/размер. Сами таблицы, кстати, лежат не здесь, а в отдельном псевдофайле CDF под названием 0Table или 1Table (возможны варианты).
В первом заголовке написана длина самого текста и его начало. Очевидно, что во времена царя Гороха именно так его и можно было прочитать. Текст лежал одним большим куском. Забавно, что можно читать его так и сейчас, но… не всегда! На десять читаемых файлов найдется такой, у которого в середине окажутся невразумительные куски, в конце — сноски, которых там быть не должно, а в самом начале — большой кусок текста, который стерли в прошлом году. Кроме того, половина файла окажется написана китайскими иероглифами. Прискорбно заметить, что известная утилита catdoc Витуса Вагнера в некоторых случаях именно такие результаты и дает, из чего можно сделать вывод, что формат она разбирает недокорректно.
Начала этих потоков указаны в специальных местах заголовка, но самый первый заголовок почему-то показывает общую длину — не самого текста, а текста плюс все этих извращений. Вот и первая причина, почему в вывод многих утилит попадают надписи типа Page 1.
Где-то в архее в редактор добавили быстрое сохранение. Смысл его в том, что файл целиком не переписывается, а добавления и изменения просто дописываются в его конец, что теоретически должно быть быстрее. Предполагалось радовать этим пользователей, но фактически они остались недовольны. Особой разницы в скорости записи при этом не получается, но в файле образуется много мусора, причем из кусков, которые теоретически уже стерты. Если там была какая-нибудь секретная информация, то простым просмотром дампа файла ее можно легко обнаружить.
Для поддержки быстрого сохранения была заведена особая таблица огрызков (piece table), в которую записывается начало каждого куска и его адрес в файле. Длины нет, но ее можно высчитать, вычтя начало текущего куска из начала следующего. Однако тут тоже надо быть осторожным, поскольку огрызки перечисляются из всех потоков. Слава богу, что они идут в определенном порядке, поэтому, зная общую длину текста, легко вовремя остановиться.
Теоретически, этот сложный формат задействован только, если в заголовке установлен специальный флажок fComplex. Но… Вот на этом очередном «но» тоже прокалываются многие конверторы.
Уже в наше время в документы добавили возможность записи в Юникоде. При этом встала проблема (как по мне, надуманная): а ведь файлы получаются ровно в два раза длиннее. Поскольку ПО разрабатывают американцы, которые в душе вообще не верят в существование других азбук, и тайно считают, что всякие странные буквы бывают только в диссертациях про Древнюю Грецию, да и там встречаются только иногда, первое, что пришло им на ум — отделить чистые символы ASCII от грязных юникодовских. Первые писать по байту на символ, вторые — как получится.
Из этой идеи возникла, например, элегантная кодировка UTF-8, где двухбайтовые символы кодируются хитрыми последовательностями в духе кодирования Хаффмана. В «Майкрософте» сделали то же самое, только не так красиво. Раз уж у нас есть таблица огрызков, то запишем туда заодно и какие куски текста написаны в чистом ASCII (на самом деле сp1252), а какие — на всякого рода невразумительных алфавитах, требующих Юникода и, соответственно два байта на символ. Поэтому нынешние файлы всегда нужно разбирать с помощью таблицы кусков, невзирая на всякие там флажки. Юникодовские фрагменты там берутся как есть, только надо учитывать, что количество читаемых байтов должно быть в два раза больше количества читаемых символов. Однобайтовые фрагменты отмечаются в адресе установленным вторым слева старшим битом (почему не первым?). Чтобы узнать настоящий адрес, нужно этот бит сбросить, а адрес разделить на два (!).
Если учесть, что сама эта таблица огрызков тоже занимает место, а еще больше места в файле занимают разные двоичные деревья и таблички цепочек секторов от формата CDF, то размеры экономии текста на символах Юникода не поразят воображения даже в древнегреческих диссертациях. О файлах на великом и могучем языке и говорить нечего. Положили бы все в UTF-16 и не страдали. Ну заархивировали бы поток, раз уж так жаба давит.
После героических усилий по чтению текста, в нем самом, как ни странно, нет ничего сложного. Обычный текст (с поправкой на кодировку), кое-какие коды ниже пробела играют служебную роль. Например, 0х9 обозначает, как и положено, табуляцию, 0хА — конец страницы, 0х7 — конец ячейки таблицы и т.д. Единственная тонкость связана с полями. Начало содержимого поля обозначается как 0х13, конец поля — 0х15, имя и параметры поля отделяются символом 0х14 от того, что, собственно, видно в тексте пользователю. Но… Вторая часть может иметь в себе вложенное поле, чего многие программы не учитывают. В результате в тексте остаются огрызки вроде INCLUDEPICTURE или PAGEREF *.
Впрочем, есть еще одна мелкая пакость. Некоторые символы могут означать что-нибудь совсем другое, вроде текущей даты. Чтобы понять, простой это символ или нет, надо разбирать таблицы свойств символов, о которых ниже. Каюсь, я просто вырезал все символы с кодом ниже пробела, что не совсем достаточно, но дешево, быстро и практично.
Выдрав текст, дальше в формат я углубляться не стал. Это уже занятие для молодых и сильных духом — разобрать все эти таблицы с такими многообещающими названиями как CHP, PAPX, SHST, PLCF и все в том же духе. Занятие совсем уже для титанов — вопроизвести форматирование в точности, как это делает сам Ворд.
Кратко изложу только, что все хранится в специальных таблицах, входом в которые служит адрес символа с начала потока. Стили лежат в длинных списках, изменения в стилях — в специальных списках исключений. Локальные изменения стиля, например, при редактировании абзаца или символа хранятся в таблицах как специальные команды по изменению родительских таблиц стилей. Сами команды очень напоминают команды виртуальной машины от типичной игры-квеста.
Осталось только подвести мораль, а она банальна: что один человек придумал, то другой завсегда поломать может. Что не делает формат Ворда менее позорным, уродливым и совершенно неприспособленным для задач массового обмена информацией в гетерогенных системах.
Думаю, что «Майкрософт» столько лет его не открывала не потому, что боялась конкуренции, а просто потому что было… стыдно.