stringtranslate.com

Текстовый файл

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

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

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

Хранилище данных

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

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

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

Кодирование

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

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

Форматы

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

Текстовые файлы Microsoft Windows

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

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

Будучи Unix-подобной системой, macOS использует формат Unix для текстовых файлов. [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-символы , которые можно редактировать как обычный текст. Хотя в текстовом файле может быть простой текст, управляющие символы внутри файла (особенно символ конца файла) могут сделать простой текст невидимым для определенного метода.

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

Примечания и ссылки

  1. ^ Льюис, Джон (2006). Освещение информатики . Джонс и Бартлетт. ISBN 0-7637-4149-3.
  2. ^ «Использование знаков порядка байтов». Интернационализация приложений Windows . Майкрософт . 7 января 2021 г. Архивировано из оригинала 21 февраля 2023 г. Проверено 21 апреля 2022 г.
  3. ^ Фрейтаг, Асмус (18 декабря 2015 г.). «Часто задаваемые вопросы – UTF-8, UTF-16, UTF-32 и спецификация». Консорциум Юникод . Проверено 30 мая 2016 г. Да, UTF-8 может содержать спецификацию. Однако порядок байтов потока не имеет значения. UTF-8 всегда имеет одинаковый порядок байтов. Исходная спецификация используется только в качестве подписи — признака того, что немаркированный текстовый файл находится в кодировке UTF-8. Обратите внимание, что некоторые получатели данных в кодировке UTF-8 не ожидают спецификации. Если UTF-8 используется прозрачно в 8-битных средах, использование спецификации будет мешать любому протоколу или формату файла, который ожидает в начале определенные символы ASCII, например использование «#!» в начале сценариев оболочки Unix.
  4. ^ «Текстовый файл 3.403» . IEEE Std 1003.1, издание 2017 г. Компьютерное общество IEEE . Проверено 01 марта 2019 г.
  5. ^ "Линия 3.206" . IEEE Std 1003.1, издание 2013 г. Компьютерное общество IEEE . Проверено 15 декабря 2015 г.
  6. ^ «3.284 Файл для печати» . IEEE Std 1003.1, издание 2013 г. Компьютерное общество IEEE . Проверено 15 декабря 2015 г.
  7. ^ ab «Объявленные системой унифицированные идентификаторы типов». Руководства и пример кода . Apple Inc. 17 ноября 2009 г. Проверено 12 сентября 2016 г.
  8. ^ ab «Разработка сценариев для кросс-платформенного развертывания». Библиотека разработчиков Mac . Apple Inc. 10 марта 2014 г. Проверено 12 сентября 2016 г.

Внешние ссылки