Сравниваем форматы Doc и Docx | Важные отличия

Содержание

Что такое файл .DOCX и чем отличается от .DOC

Сравниваем форматы Doc и Docx | Важные отличия

Начиная с 2007 года обновленная версия Word (и Microsoft Office) для сохранения файлов стала использовать формат DOCX, вместо классического DOC. Это была не просто «экстремальная» версия формата 1990-х годов, дополнительный X в расширении обозначает стандарт Office Open XML.

В чём разница, и какой из них следует использовать? DOC – это формат документа, используемый Microsoft Word, а DOCX – его преемник. Оба являются относительно открытыми, но DOCX более эффективен и создает меньшие, менее повреждаемые файлы.

Если у Вас есть выбор, используйте DOCX, DOC необходим только в том случае, если файл будет использоваться версиями Word до 2007 года.

Краткая история формата DOC

Microsoft Word начал использовать формат DOC и соответствующее расширение файла более 30 лет назад в самом первом выпуске Word для MS-DOS.

 Word исполнял роль проприетарного процессора документов, формат также был проприетарным: Word был единственной программой, официально поддерживающей файлы DOC, до тех пор, пока Microsoft не откроет спецификацию в 2006 году, после чего она была перепроектирована.

В 90-х и начале 2000-х годов различные конкурирующие продукты могли работать с файлами DOC, хотя некоторые из более экзотических форматов и опций Word не поддерживались в других текстовых процессорах.

 Поскольку Office и Word были де-факто стандартами для офисных наборов, соответственно, закрытый характер формата файла, несомненно, помог Microsoft сохранить свое господство над такими продуктами, как Corel WordPerfect.

С 2008 года Microsoft несколько раз выпускала и обновляла спецификацию формата DOC для использования в других программах, хотя не все расширенные функции Word поддерживаются открытой документацией.

После 2008 года формат DOC был интегрирован в платные и бесплатные программы обработки текстов многих поставщиков. Это значительно упростило работу с более старыми форматами текстовых процессоров, и многие пользователи по-прежнему предпочитают сохранять документы в старом стандарте DOC.

Введение Office Open XML (DOCX)

Под давлением растущей конкуренции открытого исходного кода и его конкурирующего формата открытых документов (ODF), Microsoft приняла решение о введение открытого стандарта в начале 2000-х годов. Это привело к разработке формата файла DOCX вместе со своими компаньонами, такими как XLSX для электронных таблиц и PPTX для презентаций.

Стандарты были представлены под названием «Office Open XML» (не имеет отношения к программе Open Office), поскольку форматы были основаны на Extensible Markup Language, а не на более раннем и менее эффективном двоичном формате. Этот язык позволил получить несколько преимуществ, в первую очередь, меньшие размеры файлов, меньше шансов на взлом и сжатые изображения.

Формат DOCX на основе XML стал стандартом для Word в версии программного обеспечения 2007 года. В то время многие пользователи полагали, что новый формат DOCX был просто средством для Microsoft поэтапного отказа от более старых версий программного обеспечения и продажи новых копий, поскольку более старые версии Word и Office не могли читать новый XML файлы.

Это было не совсем так: Word 2003 может читать специальные форматы файлов Word XML, а обновления совместимости позднее были применены к другим версиям. Но, в любом случае, некоторые пользователи вручную сохраняли файлы в более раннем стандарте DOC вместо DOCX ради совместимости.

Десять лет спустя DOCX стал новым стандартом де-факто, хотя он не столь универсален, как более старый формат DOC-файлов, благодаря конкурентам, таким как ODF, и общему уменьшению традиционного использования текстового процессора.

Какой из них следует использовать

DOCX – лучший выбор для любой ситуации. Формат создает меньшие, более легкие файлы, которые легче читать и передавать. Открытый характер стандарта Office Open XML означает, что его можно прочитать практически любым полнофункциональным текстовым редактором, включая онлайн-инструменты, такие как Google Docs.

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

В любом случае, лучше сохранить файл в DOCX или какой-либо другой современный стандарт, например ODF, для простого преобразования.

Источник: https://windows-school.ru/blog/kakaja_raznica_mezhdu_fajlami_docx_doc/2018-10-24-212

Интернет журнал о выборе лучших товаров и услуг

Сравниваем форматы Doc и Docx | Важные отличия

13.08.2019 11:21:47

Эксперт: Савва Гольдшмид

Форматы Doc и Docx используются для записи и хранения текстовых файлов с форматированием. Будучи контейнерными, они могут содержать не только собственно текст, но и графику, таблицы стилей и многое другое. Кроме того, оба формата были разработаны компанией «Майкрософт» для использования в офисных приложениях и пакетах.

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

  1. TXT – первый в истории способ сохранения текста. Он, соответственно, поддерживает исключительно текст. Добавить в него изображение или, например, выделение полужирным не получится;

  2. RTF – формат, который поддерживает форматирование. В частности, слова в нём можно сделать полужирными, написанным курсивом, поменять шрифт, добавить изображения и так далее. При этом RTF не способен работать со стилями, таблицами, а общее представление документа схоже с таковым в первых версиях HTML;

  3. DOC – формат, который поддерживает каскадные стили, форматирование, вставку таблиц, разметку листа и многое другое. По структуре схож с третьей и четвёртой версией HTML;

  4. DOCX – контейнерный формат, который поддерживает, в общем, всё, что умеет DOC, но имеет структуру ZIP-архива с отдельными описаниями разметки, изображений и XML-текста. Кроме того, в некоторых случаях верстаемые в нём документы можно сделать интерактивными. А структурно сохранённые в нём файлы схожи с HTML5+CCS3.

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

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

В чём разница между doc и docx

Формат DOC появился в начале 1990-х годов одновременно с релизом текстового процессора Microsoft Word. Изначально он был проприетарным и использовался исключительно этим технологическим гигантом. Компания Microsoft применяла его вплоть до 2007 года, когда выпустила редактор Word 2007.

Word 2007 перешёл на новый формат – DOCX, который стал контейнерным. По сути, файлы с этим расширением – это ZIP-архивы, в которых хранится информация о разметке, тексте, встроенных изображениях, таблицах и сценариях (аналог макроса, только с меньшими возможностями).

Одновременно с этим Microsoft сняла «клеймо» проприетарности с DOC. Он стал открытым для использования в некоммерческих целях, то есть разработчики сторонних «опенсорсных» редакторов вроде OpenOffice могли добавить его нативную поддержку в свои приложения.

DOCX используется и по сей день. Он является стандартным для текстовых процессоров «Майкрософт» 2019 года, включая облачный вариант Office 365. Кроме того, множество сторонних редакторов также и открывают, и сохраняют документы в нём.

Использование контейнерного способа хранения не только позволило сделать документы более красивыми и интерактивными. Он отличается ещё несколькими преимуществами:

  1. Архивирование по стандарту ZIP позволяет значительно уменьшить размер файла. Например, эта статья, сохранённая в DOCX, занимает 16 килобайт на жёстком диске. В предыдущем типе – 40 килобайт, а в RTF – 76 килобайт.

  2. Создание отдельного листа сведений для управления содержимым в общем контейнере обеспечивает одинаковую видимость текста и графики на разных версиях офисных приложений «Майкрософт» и сторонних редакторов.

Таким образом, в большинстве случаев лучше использовать DOCX. Кроме того, DOC обладает множеством недостатков:

  1. Разное отображение содержимого в разных редакторах, в том числе разных версиях офисных приложений «Майкрософт»;

  2. Плохая совместимость со сторонними редакторами.

  1. DOCX от этих недостатков избавлен

 Однако Word 2003 и младше этот формат просто не открывает, так как не способен распаковать контейнер с данными.

Стоит ли использовать альтернативы

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

Так, OpenOffice и LibreOffice используют для сохранения формат ODT – OpenDocument Text. В общем виде он схож с DOC, то есть не является контейнерным и хранит все данные в одном файле.

Из-за этого могут возникать серьёзные проблемы при открытии ODT-документов на других редакторах – «поехавшее» форматирование, неправильное отображение изображений, в некоторых случаях даже проблемы с ориентацией страницы.

Адекватно открывать ODT-файлы способны только «родительские» приложения (например, если он создан в OpenOffice Writer – то и открываться должен лишь в OpenOffice Writer) и последние версии MS Word.

Поэтому, даже пользуясь опенсорсным программным обеспечением, лучше сохранять работу в DOCX.

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

А вот его предшественника лучше не использовать, поскольку внешний вид страниц будет таковым только на компьютере, где они создаются. При попытке открыть в другом месте есть вероятность, что всё «поедет».

При невозможности сохранения в DOCX для передачи также можно использовать PDF. Он обеспечивает одинаковую видимость, но не позволяет редактировать материалы (включая копирование фрагментов) без применения специальных приложений.

Источник: https://expertology.ru/sravnivaem-formaty-doc-i-docx-vazhnye-otlichiya/

Форматы doc и docx — чем они отличаются — Сайт о

Сравниваем форматы Doc и Docx | Важные отличия

04.12.2019

Привет всем.

Видите отличия doc и docx? Они есть, хоть файлы обоих форматов и создаются программой с одним названием — Microsoft Office Word; правда, разными версиями. Так что вы можете столкнуться с трудностями открытия документа нового расширения через старую прогу. Почему? Ответы будут далее в статье.

Расшифровка

Для начала расскажу, что представляют собой оба формата:

  • DOC — расширение текстовых файлов с разметкой или без. Несёт в себе больше информации, чем TXT или RTF, например, таблицы, фигуры, различные функции форматирования содержимого и пр. Ещё в 1990-х годах его начала использовать компания Microsoft. В виду лидерства в выпуске офисного программного обеспечения, формат стал обозначать Word-документы.
  • DOCX — тоже формат текстовых файлов, но имеет существенные отличия с предшественником. Его фирма Майкрософт выпустила в 2007 году вместе с новым пакетом офисного софта.

Разница в форматах doc и docx

В docx разработчики добавили нововведения. Данный формат является zip-архивом, содержащим текст в виде XML. Последняя аббревиатура означает расширяемый язык разметки для создания, чтения и обработки документов, как программами, так и человеком, с акцентом на использование в Интернете.

В свою очередь, doc не умеет распаковывать архивы, поэтому в версиях Ворда 97-2003 документы нового образца не открываются.

В ситуации наоборот вы получите доступ к содержимому файла. Но при открытии старых доков в новых спецификациях офисного пакета, увидите сверху надпись «Режим ограниченной функциональности». Это значит, что в таком документе вы не сможете воспользоваться всеми опциями, которые предполагает Ворд 2007 и выше.

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

На этом всё о том, что касается того в чём отличия doc и docx. Что-то более подробно не вижу смысла описывать.

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

До свидания, друзья.

Источник:

Файлы с расширением doc и docx отличия. Форматы doc и docx — чем они отличаются

Doc – это стандартное расширение файлов, созданных текстовым редактором
Microsoft Word, начиная с версии 97 и до версии 2003, либо приложением
WordPad
. Подобные форматы на данный момент фактически устарели.

Версии
редактора Word с 2007 года работают с документами, имеющими расширение
docx
. Соответственно, стандартной программой для открытия файла в старом формате будет версия Word до 2003 года включительно или WordPad, а в новом – Word 2007 или более современный.

Чем отличаются форматы документов

Файлы типа doc – это бинарные
(двоичные) файлы, которые могут иметь разное строение
, в зависимости от конкретной версии создавшей их программы. Документы, созданные WordPad, отличаются
от вордовских в сторону примитивности.

Файл типа docx
строится на основе формата Office Open XML
. Он отличается от своих предшественников расширенными
возможностями восстановления при повреждении. По своей сути это zip-архив текста XML и вспомогательных документов, размещенных в папках. Если открыть primer.docx архиватором 7-zip, то можно увидеть примерно следующее:

Чем открывают расширения doc и docx

А какими еще приложениями можно открывать документы с расширениями doc и docx? Список достаточно большой, но есть некоторые нюансы при их использовании. Корпорация Microsoft традиционно закрывает свои разработки
от свободного использования, поэтому сторонние разработчики часто имеют проблемы с совместимостью.

А вот primer.docx с аналогичным содержимым понес некоторые потери – текстовая надпись внизу исчезла
. В целом Writer из OpenOffice.org для работы с вордовскими текстами следует применять очень осторожно.

Текстовая надпись потерялась. При попытке редактирования сервис предупреждает
, что результат будет сохранен как docx.

“Скачать файл в формате.doc”, “скачать файл в формате.docx”, “сохранить в…”, “открыть с помощью…”.

Разница в одну букву порой способна доставить много головной боли, если интернет-сервис принимает только определенный формат текстового файла или создается он на одном компьютере, а открывается на другом.

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

Определение

DOC
— расширение имени текстового файла, используемое текстовым процессором Microsoft Word, ставшее впоследствии обозначением серии собственных форматов.

DOCX
(Office Open XML) — форматы файлов, применяемые для хранения электронных документов, созданных пакетом офисных приложений от Microsoft.

Сравнение

Разница между doc и docx заключается, в первую очередь, в возможности работы с ними пакетов программ. Формат doc подчиняется всем текстовым редакторам от Microsoft по умолчанию, не требуя надстроек, формат docx же Microsoft Word в версии 2003 года и ранних не воспринимается, его поддержка начинается в версии Word 2007. Решается вопрос с помощью дополнительного конвертера.

Несоответствие docx Word 2003 объясняется тем, что этот формат файлов предполагает сжатие, и сам по себе является zip-архивом, внутри которого содержатся собственно текстовый документ в виде XML, графика и файлы, определяющие свойства документа и отношения между содержимым контейнера. Версия 2003 не может его распаковать. Сжатие определяет и одно из основных отличий между форматами doc и docx — размер файла в последнем случае несколько меньше.

В сторонних текстовых процессорах docx поддерживается опционально, но в самом популярном из них пакете OpenOffice такая поддержка имеется.

Формат doc без танцев с бубнами со сторонними редакторами совместим плохо. Docx не работает с языками с начертанием справа налево.

Кроме того, в ряде случаев формат docx поддерживает только собственные форматы Microsoft, игнорируя стандарты: к примеру, вместо SVG — WMF.

Выводы сайт

  1. Файл формата doc можно открыть любой версией текстового процессора от Microsoft, файл docx — только версиями Word начиная от 2007.
  2. Docx — zip-контейнер для файлов XML.
  3. Doc не поддерживает сжатие.

  4. Doc плохо совместим со сторонними редакторами.

В старину, когда компьютеры были слабее современных мобильных телефонов,а люди пользовалисьоперационной системой MSDOS, к именам текстовых файлов нередко добавляли расширение doc, подразумевая

сокращённое слово «document».

Однако в 90-х годах двадцатого века стараниямифирмы Microsoft по всей планете распространился новый вид цифровых документов —файлов с таким же расширением. В общем, речь пойдёт о результатах тех стараний.Ну и, конечно, немножко о форматах…

Как DOC попал в каждый офис

Можно ли заставить мир пользоваться только одним единственным комплектомофисных приложений? Да, и очень просто: достаточно создать закрытый бинарныйформат файлов для документооборота, ни с чем не совместимый, крометекстового процессораWord . Тогда, хочешь или нет, а купишь эту программу (в пакете Microsoft

Office), никуда не денешься, ведь без неё ни одной фирме не прожить.

Так формат DOC попал в каждую (без преувеличения) контору, в каждуюбухгалтерию, школу, университет, техникум и курсы обучения вышиванию крестиком.И как ни старались разработчикиосвободить народонаселение от жёсткой привязки к Microsoft Office, что-тополучаться начало только с появлением LibreOffice, да и то пока лишь для

документов с несложной компоновкой.

Суть в том, что формат DOC — бинарный и закрытый. Поди разбери, каким именнообразом документ кодируется в последовательности нулей и единиц и как потом

декодируется обратно.

Разработчикам, стремившимся постичь суть формата,доводилось действовать, как говорится, по наитию. Потому в ранних версиях

OpenOffice.

org(предшественника LibreOffice) сложные *doc (с таблицами, рисунками и прочими

объектами) нередко отображались довольно криво.

Двадцатого февраля 2008-го года планету облетела новость: международныйкомитет стандартизации (он же ISO) вынудил Microsoft открыть спецификацииформатов Microsoft Office 2007. Однако радость оказалась преждевременной:

открыли далеко не всё, оставив множество «белых пятен».

Что такое DOCX

Он же Office Open XML, он же OOXML, является родным братом (почти близнецом)Open Document Format, то бишь, ODF. (ВUbuntuвы, надо полагать, видели файлы с расширением odt, открываемые в OpenOffice.org

или LibreOffice).

Формально эти форматы вроде бы разные, но суть одна: zip-архив, внутрикоторого содержится несколько XML-файлов с размеченным текстом, ну и прочие

компоненты.

То есть, бинарный DOC, видимо, страсть как надоел даже самойконторе Microsoft , разуж они взяли Office Open XML и сделали его форматом Word 2007 по умолчанию. Арасширение таким файлам дали docx. Видимо, чтобы привычное «doc» тоже

фигурировало и люди документы легко отличали от чего-либо иного.

Однако с признанием DOCX вышла неувязка. Поначалу ISO (комитетстандартизации) воспротивился. Мол, сомневаемся мы, что ваш вариант такой ужсовместимый с альтернативнымпрограммным

обеспечением . Кажется, вы малость схитрили, дабы монополию не терять.

Потом в ISO вроде бы успокоились, но зато возмутились местные комитетыстандартизации сразу в нескольких странах. Таких как Бразилия, Индия, Венесуэла,Дания. Чуть позже к ним присоединились ЮАР, Парагвай и Эквадор. Сказали, мол, не

доверяем мы этому DOCX. А заодно и слишком сговорчивому ISO.

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

Microsoft.

Поэтому мир постепенно начал осознавать преимущества вышеупомянутого OpenDocument Format (того, который ODF). Во-первых, нет никаких патентов, бери ипользуйся как хочешь. Во-вторых, нет подвохов с совместимостью. К ним и

переходим.

Менталитет монополиста

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

Зачем платить за дорогой софт, если есть свободный LibreOffice.

Вот тут-то, как говорится, шило и вылезло из мешка. Выяснилось, чтоLibreOffice открываетдокументы в формате DOCX запросто, а хитрый Word категорически отказываетсяпонимать ODF. Несмотря на то, что DOCX и ODF — чуть ли не близнецы, как сказано

ранее.

То есть, Microsoft, не желая распространения бесплатного LibreOffice какальтернативы недешёвому MS Office, препятствует использованию ODF в своих

программных продуктах. И, вполне вероятно, делает это намеренно.

Следовательно, хотя Office Open XML существует где-то с 2006-го года,устаревший бинарный DOC выбросить на свалку истории не получается. Ведь радипоследующего открытия в Word 2007 и Word 2010 разнообразные файлы,изготавливаемые в LibreOffice, доводится сохранять либо вRTF (небольшие), либо в DOC,

увы.

Как с этим жить

В Российской Федерации Open Document Format стал официально узаконеннымстандартом. Теперь ни один чиновник государственного учреждения не вправезаявить, мол, присылайте нам документы только в DOC и DOCX, а ваших ODF мы знать

не желаем. Значит, путь для массового использования LibreOffice открыт.

В других странах, где законодательство пока иное, можно самостоятельностремиться сделать Open Document Format популярным стандартом де-факто, не

дожидаясь признания де-юре.

Каким образом? Просто использовать LibreOffice и рассказывать об этомбесплатном пакете приложений коллегам, деловым партнёрам, друзьям-приятелям,

собеседникам в социальных сетях.

Почему нужно продвигать альтернативу? Вовсе не потому, что ODF чем-то лучшеDOCX, они ведь очень похожи. А потому, что привязка всего мира к продукту

корпорации-монополиста — это не очень хорошо.

  • Предыдущие публикации:
  • Последнее редактирование: 2012-11-03 21:57:20
  • Метки материала: ,

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

Что такое .docx и чем он отличается от файла .doc?

Не открывается документ Microsoft Word? Возможно не тот формат!

Чем открывать .doc и .docx?

Вам может показаться очень странным, почему я вдруг вспомнил про формат документов для офисных программа от Microsoft — .doc. Но поверьте друзья, ничего тут странного нет, ведь формат все еще живет, многие работают в старых версиях Office Word и успешно обмениваются этими файлами в рабочих процессах. Сегодня небольшая история формата и что происходит с ним сейчас.

У Microsoft Word, история более чем богатая. Ведь это такой текстовый редактор, который как может показаться (и будет отчасти правдой) был с нами всегда, на протяжении всей истории электронного документаоборота.

Формат .doc — это собственный формат документов Microsoft Word. Успешно функционировавший вплоть до 2007 года.

Ведь именно в 2007 произошло глобальное обновление Microsoft Word (полностью изменился весь интерфейс) а вместе с ним мы получили новый формат docx.

Замечу, docx с приставкой x — это формат который поддерживает стандарт Microsoft Office Open XML. Назревает резонный вопрос, а как он должен был помочь пользователям?

Источник: https://sosh16zernograd.ru/lyudi-i-obshhestvo/formaty-doc-i-docx-chem-oni-otlichayutsya.html

Что такое .docx и чем он отличается от файла .doc?

Сравниваем форматы Doc и Docx | Важные отличия

Не открывается документ Microsoft Word? Возможно не тот формат!

Чем открывать .doc и .docx?

Вам может показаться очень странным, почему я вдруг вспомнил про формат документов для офисных программа от Microsoft — .doc. Но поверьте друзья, ничего тут странного нет, ведь формат все еще живет, многие работают в старых версиях Office Word и успешно обмениваются этими файлами в рабочих процессах. Сегодня небольшая история формата и что происходит с ним сейчас.

У Microsoft Word, история более чем богатая. Ведь это такой текстовый редактор, который как может показаться (и будет отчасти правдой) был с нами всегда, на протяжении всей истории электронного документаоборота.

Формат .doc — это собственный формат документов Microsoft Word. Успешно функционировавший вплоть до 2007 года.

Ведь именно в 2007 произошло глобальное обновление Microsoft Word (полностью изменился весь интерфейс) а вместе с ним мы получили новый формат docx.

Замечу, docx с приставкой x — это формат который поддерживает стандарт Microsoft Office Open XML. Назревает резонный вопрос, а как он должен был помочь пользователям?

История формата .doc

Давным давно, 30 лет назад, в самом первом выпуске программы Microsoft Office, сохраняемые файлы получали расширение .doc. Шли годы, Microsoft становилась не одна на рынке офисных текстовых редакторов, но формат .

doc открывался только в них (в Microsoft Word). Microsoft, став одними из первых разработчиком текстового редактора, первыми кто смог это сделать хорошо, установила тотальный контроль в данной области программного обеспечения.

Читайте актуальное: Версия Windows на диске, образе или флэшке

Формат .doc, был собственностью компании Microsoft. Ну и как вы понимаете, что конкуренции как таковой в подобных условиях развиться просто не могло.

Компания была первая, никогда не давала слабину (делала свои редакторы относительно хорошо), распространяла свой продукт на миллионы компьютеров во всем мире, и только со своим форматом.

И это восхитительно, ведь конкуренции появится не могло просто потому, что буквально все пользовались Windows, а кто разработчик Windows? Microsoft! А что еще делает Microsoft? Создает Microsoft Word! Вопросы отпадали сами собой.

Один разработчик, два жизненно необходимых продукта, и было такое мнение, что исключительно Microsoft может сделать текстовый редактор который будет хорошо работать в Windows (как покупка автомобиля, и последующее его обслуживание у официального дилера, как будто там “действительно” делают “честное” техническое обслуживание).

Но в 2006 году, компания открывает спецификацию, чем сильно упрощает жизнь разработчикам по всему миру. Ведь до этого с форматом пытались работать, но делалось это путем обратного инжиниринга (когда берется продукт и раскладывается на составляющие его части, чтобы понять как это работает).

Стоит правильно воспринимать тех прекрасных разработчиков, кто пытался выпускать текстовые редакторы с поддержкой формата .doc. Ведь в Word 90-x и начале 2000-х было слишком много экзотических особенностей в самом Word, которые ну никак не могли быть воспроизведены в редакторах создаваемых на тот момент по подобию Microsoft Office Word.

Таким образом много что работало и открывалось, но не все, а значит не стоит обращать внимание на редакторы с не полным функциональным набором.

Затем последовал 2008 год, Microsoft открыла спецификацию и формат стал доступен во многих офисных продуктах. Такой шаг сделал работу в разных приложениях значительно проще.

Теперь документы открывались практически в каждом текстовом редакторе, а пользователи офисных программных продуктов стали все чаще сохранять свои документы не в .docx а именно в .

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

Не стоит думать, что в какой-то момент компания захотела сделать мир лучше и всем, всего, раздала.

Дело в том, что к тому времени уровень среднестатистического пользователя персонального компьютера значительно повысился, продуктами от Microsoft стало пользоваться большее количество человек, которые формировали свое мнение основываясь на работе с этим текстовым редактором, появился спрос на альтернативные текстовые редакторы, которые к тому времени успели подоспеть. Я конечно же говорю про текстовый редактор семейства OpenOffice и его формат .ODF (Open Document Format).

Таким образом под давлением конкуренции Microsoft создает формат, который в значительной степени становится лучше предидущего .doc, формат .docx.

Формат звучит как Office Open XML, и тут нет никакой связи с OpenOffice, просто такое название. Новый .docx, был написан на Extensible Markup Language (XML), что позволило оснастить .

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

Основанный на XML формат .docx, стал форматом по умолчанию в который сохранялись документы в Microsoft Word 2007. Тогда пользователи Microsoft Office Word по всему миру заподозрили компанию в попытке постепенного вывода формата .doc из оборота (думая что старые редакторы не будут поддерживать новые файлы) принуждая покупать новый Word 2007.

Но оказалось что паника была поднята совершенно напрасно, ведь тот же Word 2003 мог читать, специальные форматы Word XML, а обновления последовавшие далее смогли научить работе с форматом другие более поздние версии Microsoft Word.

Прошло десять лет и теперь именно формат .docx выступает как промышленный стандарт, правда он не столь универсален как в свое время .doc, благодаря все тому же ODF.

Справедливости ради стоит заметить, как таковые текстовые редакторы стали несколько другими.

Какой формат сегодня я должен использовать?

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

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

Источник: https://nextontext.ru/windows/554-chto-takoe-docx-fajl-i-chem-on-otlichaetsya-ot-fajla-doc

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

Сравниваем форматы Doc и Docx | Важные отличия

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

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

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

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

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

Контейнер

Начнем с того, что это совсем не вордовские файлы, а некий универсальный контейнер, в который упакованы собственно документы. В такой контейнер засунуты все файлы Офиса, а, может быть, и еще что-нибудь. Формат контейнера называется по-разному — 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 Витуса Вагнера в некоторых случаях именно такие результаты и дает, из чего можно сделать вывод, что формат она разбирает недокорректно. Жизнь на самом деле гораздо сложнее. Когда-то в файлах действительно был только текст, однако со временем под давлением пользователей и маркетинга накапливались различные «фичи».

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

Вот и первая причина, почему в вывод многих утилит попадают надписи типа 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 и все в том же духе. Занятие совсем уже для титанов — вопроизвести форматирование в точности, как это делает сам Ворд. Кратко изложу только, что все хранится в специальных таблицах, входом в которые служит адрес символа с начала потока. Стили лежат в длинных списках, изменения в стилях — в специальных списках исключений. Локальные изменения стиля, например, при редактировании абзаца или символа хранятся в таблицах как специальные команды по изменению родительских таблиц стилей. Сами команды очень напоминают команды виртуальной машины от типичной игры-квеста. Осталось только подвести мораль, а она банальна: что один человек придумал, то другой завсегда поломать может. Что не делает формат Ворда менее позорным, уродливым и совершенно неприспособленным для задач массового обмена информацией в гетерогенных системах. Думаю, что «Майкрософт» столько лет его не открывала не потому, что боялась конкуренции, а просто потому что было… стыдно.

Дополнительная литература:

Официальное описание формата:

http://msdn.microsoft.com/en-us/library/cc313153(office.12).aspx

Дж. Спольски, «Почему форматы Офиса так сложны?»

http://www.joelonsoftware.com/items/2008/02/19.html

  • Майкрософт
  • офис
  • текст
  • документ
  • формат файла
  • Юникод
  • ms word
  • .doc

Источник: https://habr.com/post/110019/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.