Что такое формат файла DOC?
Файлы с расширением .doc содержат форматированные текстовые документы, хранящиеся в проприетарном бинарном формате Microsoft Word. Формат использует контейнер OLE2 Compound File Binary - то же структурированное хранилище, которое используется в устаревших файлах Office, таких как .xls и .ppt, - идентифицируемое внутри по потоку WordDocument. Его «магические байты» (D0 CF 11 E0 A1 B1 1A E1) находятся в самом начале файла, что позволяет легко отличить .doc от более нового .docx, который является ZIP-архивом.
Структура формата менялась от версии к версии Word; современная разметка на базе OLE2 появилась в Word 97 (1997) и была стандартом до Word 2003 включительно. С тех пор он был в значительной степени вытеснен форматом .docx на базе XML, разработанным для лучшей переносимости. Файлы .doc по-прежнему можно создавать в Word и большинстве современных текстовых процессоров.
Файлы .doc могут содержать:
- Текст и его форматирование (шрифты, стили, разметка страницы),
- таблицы,
- изображения и встроенные объекты,
- макросы (скрипты VBA).
Microsoft опубликовала спецификацию формата .doc только в 2008 году, чтобы позволить другим программам корректно обрабатывать эти файлы. Тем не менее, формат уже был подвергнут обратной разработке для получения всех его деталей. До появления проприетарного формата Microsoft в 1983 году расширение .doc также использовалось для простых текстовых файлов и документов программы WordPerfect. Файлы шаблонов, имеющие ту же бинарную структуру, используют расширение .dot. Официальный MIME-тип - application/msword.
Безопасность и защита
РИСК: MEDIUMРеальный риск в файлах .doc представляют макросы VBA: бинарный формат является классическим носителем вредоносных макросов (фишинг «Разрешить содержимое»). Современный Office открывает файлы DOC из почты или интернета в режиме защищенного просмотра с отключенными макросами - не разрешайте редактирование или макросы в документе, который вы не ожидали получить. Открытие в LibreOffice или Google Docs обычно безопаснее, так как их движки макросов отличаются от VBA в Word. Сам текст документа безвреден; угрозу представляют только встроенные макросы и связанные объекты.
Детали формата
в двух словахПрограммы, открывающие файлы DOC
Технические подробности
глубокая спецификация| Формат контейнера | OLE2 Compound File Binary (структурированное хранилище CFB) |
| Магические байты | D0 CF 11 E0 A1 B1 1A E1 - 8 байт со смещением 0 |
| MIME-тип | application/msword |
| Основной внутренний поток | Поток WordDocument содержит основное содержимое документа и форматирование |
| Вспомогательные потоки | Потоки 0Table или 1Table хранят пул строк, ссылки на объекты и данные о редакциях |
| Кодировка символов | UTF-16 LE (Word 97-2003); версии до 97 года использовали кодовые страницы ANSI |
| Язык макросов | Макросы VBA хранятся во встроенном хранилище OLE2 Macros внутри файла |
| Сжатие | Отсутствует - несжатый бинарный файл; эквивалентный .docx обычно на 60-80% меньше |
| Шифрование | RC4 с 40-битным ключом (Word 97-2003); недостаточно по современным стандартам безопасности |
| Отслеживание исправлений | Данные отслеживания изменений закодированы как бинарные метки исправлений в потоке WordDocument |
| Встроенные объекты | Внедрение и связывание OLE2 для электронных таблиц, диаграмм и других компонентов Office |
| Вариант шаблона | Файлы .dot имеют тот же бинарный формат с внутренним флагом, помечающим их как шаблоны |
| Диапазон версий Word | С Word 97 (1997) по Word 2003; по-прежнему читается в текущих версиях Word и LibreOffice |
| Кросс-платформенная поддержка | LibreOffice Writer, Google Docs и Apple Pages открывают .doc с небольшими различиями в отрисовке |
| Риск безопасности макросов | Макросы VBA могут исполнять произвольный код; современный Word отключает их по умолчанию через Центр управления безопасностью |
| Выпущен | 1983 (Word 1.0); the modern OLE-based .doc layout dates from Word 97 (1997) |
| Спецификация | learn.microsoft.com |
Конвертации DOC
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах DOC.