Что значит формат doc

Файл формата DOC: чем открыть, описание, особенности

Сегодня документооборот компаний и предприятий в основном ведется в электронном виде. Для этого испо.

Сегодня документооборот компаний и предприятий в основном ведется в электронном виде. Для этого используется текстовый процессор Microsoft Word. В статье мы рассмотрим главные признаки текстового формата, узнаем, как открыть файл DOC и где скачать программу для открытия файлов 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

Как и чем открыть

Представляем список программ и приложений, которые позволяют открыть DOC онлайн, а также на ревизиях операционки Windows 7 и 10.

Открыть онлайн

Можно открыть файл DOC онлайн на сервисе Word Online. Доступны все функции текстового процессора:

Авторизуйтесь на сайте, чтобы открыть документ DOC онлайн, или установите программу на компьютер.

Второй способ открыть файл DOC онлайн Google Docs. Редактируйте файл вместе с коллегами, общайтесь через встроенный чат, контролируйте доступ к файлу. Документ конвертируется, при этом исходный файл останется без изменений.

Что значит формат doc

На компьютере

Расскажем о программах, которые помогут открыть DOC без доступа к интернету и подойдут для разных выпусков Windows.

В Windows 10

В Windows 7

Посмотрим, чем открыть формат DOC на 7-й Виндовс.

Программа Doc Viewer 2.0 подходит только для просмотра текстового документа, режим редактирования недоступен. Включена опция передачи файлов по электронке.

На андроиде

Расскажем, чем открыть файл DOC на платформе Android. Эти утилиты можно скачать у нас на сайте.

Источник

Как открыть файл doc

В конце 80-х годов прошлого века на рынке программного обеспечения для персональных компьютеров практически установилась монополия корпорации Microsoft. Развитие компьютерной техники шло беспрецедентными темпами, что обусловило потребность в новом текстовом формате, более функциональном, чем уже существовавшие TXT и RTF. Им на смену пришел интегрированный в программу MS Word формат DOC. Приглашаем познакомиться с его особенностями и узнать, как открыть файлы, сохраненные в этом формате.

Что значит формат doc

Специфика и применение формата DOC

Расширение DOC (.doc) получило свое название от английского слова «document», которое едва ли нуждается в переводе. Файлы DOC используется для хранения текста с форматированием или без него. Причем возможности форматирования достаточно обширны – пользователю доступна работа с разными шрифтами, стилями, размерами, вариантами начертания, абзацами и интервалами, видами расположения текста на странице. Кроме того, доступна интеграция в текст различных объектов: рисунков, диаграмм, формул, таблиц, нумерованных и маркированных списков.

Формат DOC использовался по умолчанию в текстовом редакторе MS Word с 1990 по 2007 годы, когда ему на смену пришло новое расширение DOCX. Тем не менее все новые версии программы сохраняют совместимость с DOC-файлами, которые можно не только просматривать, но и редактировать.

Последней версией с базовым форматом DOC стал Word 2003, интерфейс которого выглядит так как изображено на фото.

Что значит формат doc

Более современные редакторы Word 2007 и Word 2010 имеют обновленную программную оболочку. Их рабочие окна представлены на следующих рисунках.

Что значит формат doc

Что значит формат doc

Главной сферой применения формата является хранение, обработка и печать текстовых данных – от небольших заметок до крупных трудов и официальной документации. Однако функционал DOC-файлов недостаточно широк для создания полноценной полиграфической продукции, поэтому в публицистической и издательской практике используются другие форматы.

Чем открыть DOC-файл на ПК?

Что значит формат doc

Самым очевидным ответом на этот вопрос будут все разновидности программы MS Word. Иногда, при несовместимости форматирования DOC-файлов, перед открытием файла происходит процедура конвертации, которая обычно не занимает много времени. Тем не менее Word не является кроссплатформенным ПО, то есть работает лишь под управлением операционной системы Windows. Кроме того, официальная лицензия на пользование программой стоит довольно дорого.

Хорошей альтернативой будет использование бесплатного аналога, входящего в пакет приложений OpenOffice. Программа называется Writer и может работать как на ОС Windows, так и под управлением систем Linux и Mac OS. Кроме формата DOC, она способна работать с файлами типов TXT, RTF, PDF и многими другими. Сохранение новых документов по умолчанию производится в «родном» формате Writer – ODT. Интерфейс программы выглядит так:

Что значит формат doc

Замечалось, что не все сборки OpenOffice стабильно работают на платформах Apple. Для них тот же разработчик предложил специализированный пакет NeoOffice. Кроме того, с открытием DOC-файлов на Mac OS отлично справляется и стандартная «яблочная» программа – iWork Pages.

Если Вы не планируете вносить какие-либо изменения в файл, а просто хотите просмотреть или распечатать его содержимое, воспользуйтесь специализированными бесплатными программами. Одной из самых удобных является Doc Viewer 2.0, которая занимает совсем мало места на жестком диске и подойдет даже для старых и очень медленных ПК. Скачать программу можно здесь http://www.softportal.com/software-26750-doc-viewer.html.

Что значит формат doc

Открываем DOC на компьютере: Пошаговая инструкция

Если на Вашем ПК уже есть файл в формате DOC и установлена программа Word, документ можно открыть любым из перечисленных методов:

Чтобы вручную выбрать программу для открытия файла, выполните следующие действия:

Что значит формат doc

Что значит формат doc

Что значит формат doc

Кроме того, можно импортировать любой файл с компьютера напрямую в программную оболочку MS Word и других текстовых редакторов. Достаточно следовать изложенным ниже инструкциям.

Что значит формат doc

Что значит формат doc

Что значит формат doc

Что значит формат doc

Примечание! Аналогичным образом выполняется поиск нужного документа в OpenOffice и других программах.

Работа с DOC-файлами на смартфоне

Для просмотра DOC-файлов подойдет почти любое приложение-читалка, представленное в Google Play (смартфоны на OS Android) или App Store (гаджеты под управлением iOS). Внимательно прочтите описание на странице приложения и подберите то, которое поддерживает все нужные Вам форматы, например, DOC, DOCX, RTF, TXT, PDF, FB2, EPUB. Хорошим выбором будет кроссплатформенный eBoox, скачать который можно здесь https://trashbox.ru/link/eboox-android. Вот скриншот его интерфейса:

Что значит формат doc

Возможность создания новых DOC-файлов и редактирования существующих хорошо реализована только в официальных и, к счастью, бесплатных приложениях от Microsoft и Apple. Для смартфонов и планшетов на Android версии 4.1 и старше подойдет мобильная версия программы Word.

Что значит формат doc

Владельцам iPhone и iPad следует обратить внимание на приложение Pages. Единственной достойной альтернативой официальному ПО, правда, со слегка урезанным функционалом, будет программа WPS Office.

Что значит формат doc

Для планшетов и нетбуков под управлением ОС Windows подойдут те же программы, что и для настольных ПК.

Облачные технологии

Многие облачные хранилища данных позволяют редактировать файлы онлайн.

Что значит формат doc

Что значит формат doc

Что значит формат doc

На мобильных устройствах удобнее работать с облаком OneDrive от Microsoft. Установите соответствующее приложение, и сможете загружать файлы из мобильной сборки Word. После установки расширения на компьютер или ноутбук Ваше облачное хранилище отобразится в окне «Мой компьютер» рядом с иконками жестких дисков.

Надеемся, Вы получили исчерпывающий ответ на все интересующие Вас вопросы. Желаем удачной и продуктивной работы с DOC-файлами!

Видео — Как открыть файл doc

Понравилась статья?
Сохраните, чтобы не потерять!

Источник

Чем открыть формат doc? Как открывать файлы с форматом doc? Возможности лучших программ

Что значит формат doc

Доброго времени суток, мои читатели! На связи Федор Лыков. Чем открыть формат doc? Это тема, которую я предлагаю рассмотреть сегодня. Давайте разберем ее поподробнее.

Есть ли среди нас начинающие пользователи компьютерами? Думаю, есть! Ведь несмотря на то, что эта сфера уже больше двух десятилетий успешно завоевывает все больше новых пользователей, всегда будут новички. Не нужно паниковать: после прочтения статьи вам все станет понятно.

Что значит формат doc

О том, что такое ворд и как его скачать, прочитать можно в моей недавней статье.

Давайте начнем по-порядку, с азов. Что такое DOC?

Это файл, содержащий двоичный формат. В нем может содержаться широкий перечень информации, например:

Что значит формат doc

Сегодня это самое популярное расширение в мире, именно для текстовых файлов.

Разработала этот формат в 1997 компания Microsoft Word. До 2003 года именно он был основным и единственным расширением в линейке ворд. Позже появился формат DOCX.

Однако, имейте ввиду, что рассматриваемый формат не будет открываться в версии пакета майкрософт офис, начиная с 2007. Поэтому эта тема с открытием формата doc сегодня для многих актуальна.

Что значит формат doc

У этого же разработчика есть другая полезная программа эксель.

Программы, чем открыть формат doc?

Итак, подошли к самой сути нашей проблемы – как открыть нужный нам формат? Безусловно, большинство ответит – конечно с помощью Microsoft Word! Но здесь есть нюанс. Эта программа лицензионная и платная.

Давайте рассмотрим альтернативные способы. И, конечно, я приведу бесплатные примеры таких программ.

Word Viewer

Минус этого ПО: нельзя редактировать текст.

Что значит формат doc

ОpenOffice

Это целый пакет различных программ, за который не нужно платить. Он работает в различных операционках. И конечно же он работает и с текстовыми файлами, включая Doc.

Текст редактировать можно, есть специальные обширные опции для этого. Также можно копировать, печатать информацию. Резюмируя, я скажу: эта программа ничем не уступает ворду.

Что значит формат doc

АbiWord

Это тоже программа, за которую не нужно платить. У нее довольно неплохой функционал. На самом деле, это графический редактор, но он позволяет работать с форматом Doc. По функционалу, он немного уступает программе ОpenOffice, но в целом неплох.

Конечно, же есть множество других программ, я их перечислю:

Если же вы не желаете устанавливать софт на свой компьютер или ноутбук – воспользуйтесь моим следующим советом.

Кстати о браузерах, их видах есть полезная статья.

Не нужно скачивать программы, устанавливать их, разбираться как работать с новым софтом. Просто зайдите бесплатно и без регистрации в сервис от Гугл.

Здесь вы моментально и легко откроете ваш документ doc.

Что значит формат doc

Итак, мы с вами рассмотрели основные способы для открытия файлов с расширением DOC, а также инструменты, которые позволяют это осуществить.

Вы можете как скачать программу, так и работать он-лайн с помощью сервисов.

Надеюсь, что данная информация будет для вас полезной, и вы обязательно найдете в ней решение своей проблемы (Чем открыть формат doc?).

Также, подписывайтесь на мой блог. В нем очень много полезной информации для разного уровня пользователей: от новичков до более опытных.

Если у вас возникли вопросы по теме статьи или трудности при работе в программах, указанных выше – задавайте вопросы в комментариях. Я обязательно предоставлю вам ответ.

Источник

Что значит формат doc

Что значит формат 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» в других словарях:

Doc — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. <<>> Sigles d une seule lettre Sigles de deux lettres > Sigles de trois lettres … Wikipédia en Français

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

Источник

Внутренности вордовских файлов: просто ужас

О сложности и жуткости вордовских файлов давно ходили легенды. Известно было, что формат этот крайне запутанный, а к тому же еще и полностью засекреченный, так что о половине тамошних полей можно было только догадываться.

Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.

А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.

Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.

Слава богу, что я разбирал эти файлы на Перле, а не на каком-нибудь автокоде Си. Высокий уровень языка и куча готовых библиотек (например, для чтения разных кодовых страниц) — это дар божий.

Так что работа в совокупности заняла неделю, и самым сложным было понять внутренний формат. Конечно, понимание это не совсем полное, потому что моей задачей было вытащить из документа одни тексты без всякого форматирования, но уж это я сделал тщательно.

Итак, как же устроены вордовские файлы?

Контейнер

Начнем с того, что это совсем не вордовские файлы, а некий универсальный контейнер, в который упакованы собственно документы. В такой контейнер засунуты все файлы Офиса, а, может быть, и еще что-нибудь.

Формат контейнера называется по-разному — 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 и все в том же духе. Занятие совсем уже для титанов — вопроизвести форматирование в точности, как это делает сам Ворд.

Кратко изложу только, что все хранится в специальных таблицах, входом в которые служит адрес символа с начала потока. Стили лежат в длинных списках, изменения в стилях — в специальных списках исключений. Локальные изменения стиля, например, при редактировании абзаца или символа хранятся в таблицах как специальные команды по изменению родительских таблиц стилей. Сами команды очень напоминают команды виртуальной машины от типичной игры-квеста.

Осталось только подвести мораль, а она банальна: что один человек придумал, то другой завсегда поломать может. Что не делает формат Ворда менее позорным, уродливым и совершенно неприспособленным для задач массового обмена информацией в гетерогенных системах.

Думаю, что «Майкрософт» столько лет его не открывала не потому, что боялась конкуренции, а просто потому что было… стыдно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *