Простой текст - Plain text

Текстовый файл Человеческая сторона животных к Роял Диксон, отображается командой Кот в xterm окно

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

Этот термин иногда используется довольно свободно для обозначения файлов, содержащих Только «читаемый» контент (или просто файлы без ничего, что не нравится говорящему). Например, это может исключить любое указание шрифтов или макета (например, разметку, уценку или даже вкладки); такие символы, как фигурные кавычки, неразрывные пробелы, мягкие дефисы, длинные тире и / или лигатуры; или другие вещи.

В принципе, обычный текст может быть любым кодирование, но иногда этот термин подразумевает ASCII. В качестве Unicode кодировки, такие как UTF-8 и UTF-16 становятся более распространенными, это использование может сокращаться.

Простой текст также иногда используется только для исключения «двоичных» файлов: тех, в которых по крайней мере некоторые части файла не могут быть правильно интерпретированы посредством действующей кодировки символов. Например, файл или строка, состоящая из слова "привет" (в любой кодировке), за которым следуют 4 байта, которые выражают двоичное целое число, которое нет просто символ (символы) - это двоичный файл, а не простой текст даже при самых вольных употреблениях. Другими словами, перевод простого текстового файла в кодировку символов, которая использует совершенно другое число для представления символы, не меняет смысла (если вы знаете, какая кодировка используется), но для двоичных файлов такое преобразование делает изменить смысл хотя бы некоторых частей файла.

Обычный текст и форматированный текст

Файлы, содержащие разметка или другой метаданные обычно считаются обычным текстом, если разметка также находится непосредственно в человек читаемый форма (как в HTML, XML, и так далее). Как утверждают Кумбс, Ренир и ДеРоуз,[1] пунктуация сама по себе является разметкой, и никто не считает, что знаки препинания лишают файл права быть обычным текстом.

Использование обычного текста, а не двоичных файлов позволяет файлам намного лучше выжить «в дикой природе», отчасти благодаря тому, что они в значительной степени невосприимчивы к несовместимости компьютерной архитектуры. Например, все проблемы Порядок байтов можно избежать (с такими кодировками, как UCS-2 порядок байтов имеет значение, а не UTF-8, но единообразно для каждого символа, а не для потенциально неизвестных его подмножеств).

Согласно стандарту Unicode,

  • "Простой текст чистая последовательность кодов символов; простой некодированный текст, следовательно, представляет собой последовательность кодов символов Unicode ".
  • стилизованный текст, также известный как богатый текст, представляет собой любое текстовое представление, содержащее простой текст, дополненный такой информацией, как идентификатор языка, размер шрифта, цвет, гипертекстовые ссылки.[2]

Таким образом, такие представления, как SGML, RTF, HTML, XML, разметка вики, и TeX, как и почти все файлы исходного кода языков программирования, считаются обычным текстом. Конкретный контент не имеет отношения к тому, является ли файл простым текстом. Например, SVG файл может выражать рисунки или даже растровую графику, но по-прежнему является простым текстом.

Согласно стандарту Unicode, простой текст имеет два основных свойства по сравнению с тем, что иногда называют «богатым» (или отформатированным) текстом:

  • «простой текст - это основной поток контента, к которому может применяться форматирование».
  • «Обычный текст является общедоступным, стандартизированным и универсальным для чтения».[2]

использование

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

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

Многие другие компьютерные программы также способны обрабатывать или создавать простой текст, например, бесчисленные программы в ДОС, Windows, классическая Mac OS, и Unix и его родственники; а также веб-браузеры (несколько браузеров, например Рысь и Браузер линейного режима отображать только обычный текст) и другие электронный текст читатели.

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

Обычный текст используется для многих электронное письмо.

А комментарий, а ".текст "файл или Запись TXT обычно содержит только простой текст (без форматирования), предназначенный для чтения людьми.

Лучший формат для постоянного хранения знаний - это простой текст, а не двоичный формат.[3]

Кодирование

Кодировки символов

До начала 1960-х годов компьютеры в основном использовались для обработки чисел, а не для текста, а память была чрезвычайно дорогой. Компьютеры часто выделяли только 6 бит для каждого символа, разрешая только 64 символа - присвоение кодов для A-Z, a-z и 0-9 оставило бы только 2 кода: далеко не достаточно. Большинство компьютеров решили не поддерживать строчные буквы. Таким образом, ранние текстовые проекты, такие как Роберто Буса с Индекс Томистикус, то Коричневый корпус, а другим приходилось прибегать к соглашениям, таким как ввод звездочки перед буквами, на самом деле предназначенными для заглавных букв.

Фред Брукс из IBM решительно выступал за переход на 8-битные байты, потому что когда-нибудь люди могут захотеть обрабатывать текст; и выиграл. Хотя IBM использовала EBCDIC, с тех пор большая часть текста была закодирована ASCII, используя значения от 0 до 31 для (без печати) управляющие символы и значения от 32 до 127 для графических символов, таких как буквы, цифры и знаки препинания. Большинство машин сохраняли символы в 8 битах, а не в 7, игнорируя оставшийся бит или используя его как контрольная сумма.

Почти повсеместное распространение ASCII очень помогло, но не решило международных и лингвистических проблем. Знак доллара ("$") не был так полезен в Англии, а акцентированные символы, используемые в испанском, французском, немецком и многих других языках, были полностью недоступны в ASCII (не говоря уже о символах, используемых в греческом, русском и большинстве других языков). Восточные языки). Многие люди, компании и страны при необходимости определили дополнительные символы - часто переназначая управляющие символы или используя значение в диапазоне от 128 до 255. Использование значений выше 128 конфликтует с использованием 8-го бита в качестве контрольной суммы, но использование контрольной суммы постепенно прекратилось. .

Эти дополнительные символы кодировались по-разному в разных странах, что делало тексты невозможными для декодирования без выяснения правил отправителя. Например, браузер может отображать ¬A скорее, чем ` если он пытался интерпретировать один набор символов как другой. Международная организация по стандартизации (ISO ) в итоге разработали несколько кодовые страницы под ISO 8859, для работы с разными языками. Первый из них (ISO 8859-1 ) также известен как "Latin-1" и покрывает потребности большинства (не всех) европейских языков, в которых используются символы на основе латиницы (не было достаточно места, чтобы охватить их все). ISO 2022 затем предусмотрены соглашения для «переключения» между различными наборами символов в середине файла. Многие другие организации разработали их варианты, и в течение многих лет компьютеры Windows и Macintosh использовали несовместимые варианты.

Ситуация с кодированием текста становилась все более сложной, что привело к усилиям со стороны ISO и Консорциум Unicode разработать единую унифицированную кодировку символов, которая могла бы охватывать все известные (или, по крайней мере, все известные в настоящее время) языки. После некоторого конфликта[нужна цитата ] эти усилия были объединены. Unicode в настоящее время допускает 1114 112 кодовых значений и назначает коды, охватывающие почти все современные системы написания текста, а также многие исторические системы и для многих неязыковых символов, таких как принтерные дингбаты, математические символы и др.

Текст считается обычным текстом независимо от его кодировки. Чтобы правильно понять или обработать его, получатель должен знать (или уметь выяснить), какая кодировка была использована; однако им не нужно ничего знать об использованной компьютерной архитектуре или о двоичных структурах, определенных любой программой (если таковая имеется), создавшей данные.

Возможно, наиболее распространенный способ явно указать конкретную кодировку простого текста - использовать Тип MIME.Для электронной почты и http, тип MIME по умолчанию - "текст / простой "- простой текст без разметки. Другой тип MIME, часто используемый как в электронной почте, так и в http, -"текст / html; charset = UTF-8 "- простой текст, представленный с использованием кодировки символов UTF-8 с разметкой HTML. Другим распространенным типом MIME является" application / json "- простой текст, представленный с использованием кодировки символов UTF-8 с JSON разметка.

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

Коды управления

ASCII резервирует первые 32 кода (десятичные числа 0–31) для управляющие символы известный как "набор C0": коды, изначально предназначенные не для представления информации для печати, а для управления устройствами (такими как принтеры ), которые используют ASCII, или для предоставления метаинформация о потоках данных, например, хранящихся на магнитной ленте. Они включают общие символы, такие как новая линия и символ табуляции.

В 8-битных наборах символов, таких как Latin-1 и другие ISO 8859 наборов, первые 32 символа «верхней половины» (от 128 до 159) также являются управляющими кодами, известными как «набор C1». Они редко используются напрямую; когда они появляются в документах, которые якобы находятся в кодировке ISO 8859, их кодовые позиции обычно относятся к символам в этой позиции в проприетарной, специфичной для системы кодировке, такой как Окна-1252 или же Mac OS Роман, которые используют коды вместо дополнительных графических символов.

Unicode определяет дополнительные управляющие символы, включая двунаправленный текст символы переопределения направления (используются для явной маркировки письма справа налево внутри письма слева направо и наоборот) и селекторы вариантов выбрать альтернативные формы Идеографы CJK, смайлики и другие персонажи.

Смотрите также

Рекомендации

  1. ^ Кумбс, Джеймс Х .; Renear, Allen H .; ДеРоуз, Стивен Дж. (Ноябрь 1987 г.). «Системы разметки и будущее обработки научных текстов». Коммуникации ACM. 30 (11): 933–947. CiteSeerX  10.1.1.515.5618. Дои:10.1145/32206.32209. S2CID  59941802.
  2. ^ а б Стандарт Unicode, версия 6.1, Общая структура, стр. 14
  3. ^ Эндрю Хант, Дэвид Томас ".Прагматичный программист ".1999.Глава 14: «Сила простого текста».п. 73.