Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsy_2_semestr.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Кодировки

8-битный текст

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

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

Unicode в текстовых файлах

Применение Unicode в текстовых файлах хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является байт (8 бит), которых для кодирования одного символа из Юникода требуется несколько. В качестве решения применяются несовместимые между собой системы UTF-8 и две версии UTF-16 (UTF-16LE и UTF-16BE с противоположным порядком байтов). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF[1]), позволяющий распознать формат однозначно. UTF-8 имеет преимущество обратной совместимости с ASCII, однако программная обработка текста в UTF-8 усложняется непостоянным размером символа. Также, тексты в Юникоде отличаются ещё большей избыточностью, нежели 8-битные.

Управляющие символы

Основная статья: Управляющие символы

Различные операционные системы придерживаются своего представления перевода строки и конца файла. В UNIX перевод строки состоит из одного символа LF (код 0xA), в Mac OS — из символа CR (код 0xD), а в DOS и Windows перевод строки кодируется последовательностью двух символов: CR и LF.

Помимо названных, в текстовых файлах применяются такие символы, как табуляция (код 9) и перевод страницы (код 0xC)[

RTF - «Rich Text Format».

Свободный межплатформенный формат хранения размеченных текстовых документов, созданный Microsoft в 1987 году. Ныне он широко распространен, поэтому большинство современных текстовых редакторов его поддерживают. Создав RTF на платформе Windows, он прекрасно будет читаться и редактироваться на других платформах (Apple, Linux и другие). Стандарт де-факто в полиграфии. RTF позволяет производить и сохранять достаточно сложное форматирование, вставлять сноски, колонтитулы, рисунки, таблицы и формулы, хотя в этом он все же уступает формату DOC. Уступает он DOC и в объеме файлов: сложные документы более компактно хранятся в DOC-файлах (простые – наоборот). Однако RTF выигрывает спор с DOC в отношении безопасности, так как не использует макросы. Поэтому зараженные макровирусами файлы Word можно «вылечить» сохранением в RTF-формат. Кроме того, формат RTF устойчив к повреждению файла. Если в DOC-файле изменить хотя бы один байт, то он уже не откроется в Word. А повреждение файла в формате RTF может привести только к потере поврежденного куска текста.

Пример rtf-документа

В качестве примера рассмотрим следующий код в формате RTF:

{\rtf1

Привет!

\par

{\i Это} некий

отформатированный {\b текст}.\par

End

}

который будет выглядеть в текстовом процессоре с поддержкой RTF как

Привет!

Это некий отформатированный текст.

End

Символ \ указывает на начало управляющего кода. Код \par означает переход к новой строке, \b — переключение на полужирный шрифт. Фигурные скобки обозначают группу; например, в приведённом выше примере группой ограничивается действие кода \b. Всё остальное, кроме фигурных скобок и управляющих кодов — это обычный текст. Правильный RTF-документ должен состоять из группы, начинающейся с управляющего кода \rtf.

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

Интересно, что синтаксис формата RTF сильно напоминает формат LaTeX, но в отличие от последнего, управляющие последовательности являются не макросами, доступными для изменения, а командами с фиксированным поведением.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]