Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Текстовый файл (иногда пишутся текстовый файл , старая альтернатива имя FlatFile ) является своим родом компьютерного файла , который структурирован как последовательность строк из электронного текста . Текстовый файл хранится в виде данных в файловой системе компьютера . В операционных системах, таких как CP / M и MS-DOS , где операционная система не отслеживает размер файла в байтах, конец текстового файла обозначается помещением одного или нескольких специальных символов, известных как конец -файловый маркер, как заполнение после последней строки в текстовом файле. В современных операционных системах, таких какВ Microsoft Windows и Unix-подобных системах текстовые файлы не содержат никаких специальных символов EOF, потому что файловые системы в этих операционных системах отслеживают размер файла в байтах. Для большинства текстовых файлов необходимо иметь разделители в конце строки , которые выполняются несколькими способами в зависимости от операционной системы. Некоторые операционные системы с файловыми системами, ориентированными на записи, могут не использовать новые разделители строк и в основном будут хранить текстовые файлы с разделенными строками как записи фиксированной или переменной длины.

«Текстовый файл» относится к типу контейнера, в то время как простой текст относится к типу содержимого.

На общем уровне описания существует два типа компьютерных файлов: текстовые файлы и двоичные файлы . [1]

Хранение данных [ править ]

Стилизованный изобразительное изображение в CSV -formatted текстового файла .

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

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

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

Набор символов ASCII является наиболее распространенным совместимым подмножеством наборов символов для текстовых файлов на английском языке и, как правило, считается форматом файла по умолчанию во многих ситуациях. Он охватывает американский английский, но для знака британского фунта , евро или символов, используемых за пределами английского языка, необходимо использовать более богатый набор символов. Во многих системах это выбирается на основе настроек локали по умолчанию на компьютере, с которого выполняется чтение. До UTF-8 это были традиционно однобайтовые кодировки (например, от ISO-8859-1 до ISO-8859-16 ) для европейских языков и широкие кодировки символов для азиатских языков.

Поскольку кодировки обязательно имеют только ограниченный набор символов, часто очень маленький, многие из них могут использоваться только для представления текста в ограниченном подмножестве человеческих языков. Юникод - это попытка создать общий стандарт для представления всех известных языков, а наиболее известные наборы символов являются подмножествами очень большого набора символов Юникода. Хотя для Unicode доступно несколько кодировок символов, наиболее распространенной является UTF-8 , которая имеет преимущество обратной совместимости с ASCII; то есть каждый текстовый файл ASCII также является текстовым файлом UTF-8 с идентичным значением. UTF-8 также имеет то преимущество, что он легко обнаруживается автоматически.. Таким образом, общий режим работы программного обеспечения с поддержкой UTF-8 при открытии файлов с неизвестной кодировкой - сначала попробовать UTF-8 и вернуться к устаревшей кодировке, зависящей от локали, если это определенно не UTF-8.

Форматы [ править ]

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

Текстовые файлы Microsoft Windows [ править ]

MS-DOS и Microsoft Windows используют общий формат текстового файла, в котором каждая строка текста разделена комбинацией из двух символов: возврата каретки (CR) и перевода строки (LF). Обычно последняя строка текста не заканчивается маркером CR-LF, и многие текстовые редакторы (включая Блокнот ) не вставляют его автоматически в последнюю строку.

В операционных системах Microsoft Windows файл считается текстовым файлом, если суффикс имени файла (« расширение имени файла ») - .txt. Однако многие другие суффиксы используются для текстовых файлов с определенными целями. Например, исходный код компьютерных программ обычно хранится в текстовых файлах с суффиксами имени файла, указывающими язык программирования, на котором написан исходный текст .

В большинстве текстовых файлов Microsoft Windows используется кодировка «ANSI», «OEM», «Unicode» или «UTF-8». То, что в терминологии Microsoft Windows называется "кодировкой ANSI", обычно является однобайтовой кодировкой ISO / IEC 8859 (т.е. ANSI в меню Microsoft Notepad на самом деле является "системной кодовой страницей", не-Unicode, устаревшей кодировкой), за исключением таких языков, как китайский , Японский и корейский, для которых требуются двухбайтовые наборы символов. Кодировки ANSI традиционно использовались как языковые стандарты системы по умолчанию в Microsoft Windows до перехода на Unicode. В отличие от этого, OEM-кодировки, также известные как кодовые страницы DOS, были определены IBM для использования в исходной системе отображения текстового режима IBM PC. Обычно они включают в себя графические символы и символы, рисующие линии, обычные в приложениях DOS. Текстовые файлы Microsoft Windows с кодировкой «Unicode» содержат текст в формате преобразования Unicode UTF-16 . Такие файлы обычно начинаются с метки порядка байтов ( BOM ), которая сообщает порядок байтов содержимого файла. Хотя UTF-8 не страдает от проблем с порядком следования байтов, многие программы Microsoft Windows (например, Блокнот) добавляют к содержимому файлов в кодировке UTF-8 BOM [2], чтобы отличить кодировку UTF-8 от других 8-битных кодировок. [3]

Текстовые файлы Unix [ править ]

В Unix-подобных операционных системах формат текстовых файлов точно описан: POSIX определяет текстовый файл как файл, содержащий символы, сгруппированные в ноль или более строк, [4] где строки представляют собой последовательности из нуля или более символов, отличных от новой строки, плюс завершающий символ новой строки. символ, [5] обычно LF.

Кроме того, POSIX определяет файл для печати как текстовый файл, символы которого можно печатать или использовать пробел или возврат в соответствии с региональными правилами. Это исключает большинство управляющих символов, которые не печатаются. [6]

Текстовые файлы Apple Macintosh [ править ]

До появления Mac OS X (теперь называемой macOS) классическая система Mac OS рассматривала содержимое файла (вилку данных) как текстовый файл, когда ее вилка ресурсов указывала, что тип файла был «ТЕКСТ». . [7] Строки текстовых файлов Macintosh заканчиваются символами CR . [8]

Будучи сертифицированной Unix, macOS использует формат POSIX для текстовых файлов. [8] Универсальный идентификатор типа (UTI), используемый для текстовых файлов в macOS, - «public.plain-text»; дополнительные, более конкретные UTI: "public.utf8-plain-text" для текста в кодировке utf-8, "public.utf16-external-plain-text" и "public.utf16-plain-text" для utf-16- закодированный текст и «com.apple.traditional-mac-plain-text» для классических текстовых файлов Mac OS. [7]

Рендеринг [ править ]

При открытии текстовым редактором пользователю предоставляется удобочитаемый контент. Часто это простой текст файла, видимый пользователю. В зависимости от приложения управляющие коды могут отображаться либо как буквальные инструкции, выполняемые редактором, либо как видимые escape-символы, которые можно редактировать как простой текст. Хотя в текстовом файле может быть простой текст, управляющие символы в файле (особенно символ конца файла) могут отображать простой текст, невидимый определенным методом.

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

  • ASCII
  • EBCDIC
  • Расширение имени файла
  • Список форматов файлов
  • Новая линия
  • Подсветка синтаксиса
  • Текстовый редактор
  • Unicode

Примечания и ссылки [ править ]

  1. ^ Льюис, Джон (2006). Освещенная информатика . Джонс и Бартлетт. ISBN 0-7637-4149-3.
  2. ^ «Использование знаков порядка байтов» . Интернационализация приложений Windows . Microsoft . Проверено 15 декабря 2015 .
  3. ^ Freytag Асмус (2015-12-18). «FAQ - UTF-8, UTF-16, UTF-32 & BOM» . Консорциум Unicode . Проверено 30 мая 2016 . Да, UTF-8 может содержать спецификацию. Однако это не имеет значения в отношении порядка байтов байтового потока. UTF-8 всегда имеет один и тот же порядок байтов. Начальная спецификация используется только в качестве подписи - указание на то, что текстовый файл без пометок находится в UTF-8. Обратите внимание, что некоторые получатели данных в кодировке UTF-8 не ожидают спецификации. Если UTF-8 используется прозрачно в 8-битных средах, использование спецификации будет мешать любому протоколу или формату файла, который ожидает определенные символы ASCII в начале, например, использование "#!" из в начале сценариев оболочки Unix.
  4. ^ "3.403 Текстовый файл" . IEEE Std 1003.1, 2017 издание . Компьютерное общество IEEE . Проверено 1 марта 2019 .
  5. ^ "3.206 Line" . IEEE Std 1003.1, 2013 издание . Компьютерное общество IEEE . Проверено 15 декабря 2015 .
  6. ^ "3.284 Файл для печати" . IEEE Std 1003.1, 2013 издание . Компьютерное общество IEEE . Проверено 15 декабря 2015 .
  7. ^ a b «Объявленные системой унифицированные идентификаторы типа» . Руководства и образец кода . Корпорация Apple 2009-11-17 . Проверено 12 сентября 2016 .
  8. ^ a b «Разработка сценариев для межплатформенного развертывания» . Библиотека разработчика Mac . Корпорация Apple 2014-03-10 . Проверено 12 сентября 2016 .

Внешние ссылки [ править ]

  • C2: Сила простого текста