Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Текстовый файл The Human Side of Animals от Royal Dixon , отображаемый командой catв окне 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]

Использование [ править ]

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

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

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

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

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

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

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

Кодировка [ править ]

Кодировки символов [ править ]

До начала 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 « text / plain » - обычный текст без разметки. Другой тип 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 , эмодзи и другие персонажи.

См. Также [ править ]

  • Двоичный файл
  • Исходный код
  • Текстовый файл
  • Перенос слова

Ссылки [ править ]

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