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

Текстовый файл The Human Side of Animals от Royal Dixon , отображаемый командой catв окне xterm

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

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

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

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

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

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

  • " Обычный текст - это чистая последовательность кодов символов; поэтому простой некодированный текст является последовательностью кодов символов Unicode.
  • Напротив, стилизованный текст , также известный как форматированный текст , представляет собой любое текстовое представление, содержащее простой текст плюс дополнительную информацию, такую ​​как идентификатор языка, размер шрифта, цвет, гипертекстовые ссылки и так далее.

SGML, RTF, HTML, XML и TEX - это примеры форматированного текста, полностью представленного как потоки обычного текста, в котором данные обычного текста перемежаются последовательностями символов, которые представляют дополнительные структуры данных ».

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

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

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

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

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

Многие другие компьютерные программы также способны обрабатывать или создавать простой текст, например, бесчисленные программы в DOS , Windows , классической Mac OS , Unix и им подобных; а также веб-браузеры (некоторые браузеры, такие как Lynx и Line Mode Browser, выдают только простой текст для отображения) и другие программы для чтения электронного текста .

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

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

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

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

Кодирование

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

До начала 1960-х годов компьютеры в основном использовались для обработки чисел, а не для текста, а память была чрезвычайно дорогой. Компьютеры часто выделяли только 6 бит для каждого символа, разрешая только 64 символа - присвоение кодов для AZ, az и 0-9 оставило бы только 2 кода: недостаточно. Большинство компьютеров решили не поддерживать строчные буквы. Таким образом, ранние текстовые проекты , такие как Roberto Busa «s Индекс Thomisticus , в коричневом корпусе и другие вынуждены были прибегнуть к конвенциям, как манипуляция звездочки предшествующей букв на самом деле предназначено , чтобы быть в верхнем регистре.

Фред Брукс из 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, - это « text / 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, их кодовые позиции обычно относятся к символам в этой позиции в проприетарной, специфичной для системы кодировке, такой как Windows-1252 или Mac OS Roman , которые используют коды вместо этого предоставить дополнительные графические символы.

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

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

использованная литература