Что такое формат файла RTF?
.rtf - это расширение файла, используемое для текстовых файлов. Оно было создано корпорацией Microsoft в 1987 году как кроссплатформенный стандарт обмена документами, который сегодня распознается большинством текстовых редакторов и процессоров.
Документ, сохраненный в формате .rtf, поддерживает несколько вариантов форматирования, включая подчеркивание, курсив и жирный шрифт, различные цвета и стили шрифтов. Каждый файл .rtf также может содержать встроенные изображения или рисунки. Поскольку многие текстовые процессоры обрабатывают .rtf без изменения исходного форматирования, файлы можно передавать между различными операционными системами, такими как Windows, macOS и Linux, без проблем с совместимостью.
.rtf использует текстовую разметку: каждый файл начинается с литеральных символов ASCII {\rtf1, что делает его читаемым для человека в простом текстовом редакторе и отличает его от бинарных форматов, таких как .DOC или .DOCX. Инструкции по форматированию выражаются в виде управляющих слов - ключевых слов с префиксом в виде обратной косой черты, таких как \b для жирного шрифта или \fs24 для размера шрифта 24 пункта, - заключенных в вложенные группы фигурных скобок.
Документы .rtf поддерживают наборы символов ANSI, PC-8, Macintosh, IBM PC и Unicode (поддержка Unicode была добавлена в версии 1.6). Microsoft прекратила разработку .rtf в 2008 году на версии спецификации 1.9.1, но формат по-прежнему широко поддерживается на всех платформах. В Windows именем файла по умолчанию при создании нового документа является Новый текстовый документ в формате RTF.rtf.
Безопасность и защита
РИСК: LOWОбычный RTF не содержит макросов, поэтому, в отличие от .doc/.docm, он не может запускать встроенный VBA - это делает его относительно безопасным и является одной из причин его использования для обмена данными. Реальный, задокументированный риск заключается на уровне ПАРСЕРА: злонамеренно созданные файлы RTF исторически использовались для эксплуатации уязвимостей в обработчике RTF Microsoft Word (например, встроенные объекты OLE, трюки с удаленными шаблонами 'objupdate' и ошибки повреждения памяти), что делает RTF периодическим вектором атак через вложения электронной почты. Поэтому относитесь к неожиданному вложению .rtf с той же осторожностью, что и к любому документу: не открывайте его от ненадежных отправителей, устанавливайте патчи для Office и рассмотрите возможность открытия неизвестных файлов в Google Docs/LibreOffice, где движок RTF от Word не задействован.
Детали формата
в двух словахПрограммы, открывающие файлы RTF
Технические подробности
глубокая спецификация| MIME-тип | application/rtf |
| Сигнатура файла | `{\rtf1` со смещением байта 0 - литеральная строка ASCII, а не бинарное магическое число |
| Тип формата | Текстовая разметка; управляющие слова - это ключевые слова ASCII с префиксом в виде обратной косой черты (например, `\b` для жирного шрифта, `\fs24` для размера шрифта 24 пт) |
| Разделители групп | Вложенные группы, заключенные в фигурные скобки `{` `}`; весь документ обернут в одну группу верхнего уровня |
| Поддержка наборов символов | Кодовые страницы ANSI, PC-8, Macintosh и IBM PC; Unicode через управляющее слово `\u`, добавлено в версии 1.6 |
| Работа со шрифтами | Шрифты объявляются в группе `\fonttbl` и упоминаются по числовому индексу во всем документе |
| Цветовая модель | Значения RGB, перечисленные в группе `\colortbl`; цвета текста и фона упоминаются по индексу таблицы |
| Вставка изображений | Изображения хранятся как шестнадцатеричные данные в группах `\pict`; поддерживаемые форматы включают WMF, EMF, BMP, JPEG и PNG |
| Поддержка таблиц | Таблицы определяются построчно с использованием управляющих слов `\trowd`, `\cellx` (ширина столбцов) и `\cell` |
| Метаданные | Информация о документе хранится в группе `\info`: заголовок, автор, тема, ключевые слова, даты создания и изменения |
| Внедрение объектов OLE | Поддерживает встроенные объекты OLE через группу `\object` - задокументированная историческая поверхность атаки, используемая вредоносным ПО |
| Форматирование абзацев | Отступы, выравнивание, межстрочный интервал и позиции табуляции задаются `\pard` и связанными управляющими словами; `\pard` сбрасывает все свойства абзаца к значениям по умолчанию |
| Кодирование бинарных данных | Бинарное содержимое, такое как изображения, представляется как последовательность пар шестнадцатеричных цифр внутри групп `\pict`, что сохраняет файл полностью читаемым для человека |
| Сжатие | Нативно отсутствует; шестнадцатеричное кодирование бинарных данных делает файлы `.rtf` значительно больше эквивалентных файлов [.DOCX](/format/docx) |
| Выпущен | 1987 (RTF 1.0, Microsoft); last specification version 1.9.1 in 2008 |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации RTF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах RTF.