Текстовый файл
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2015 г. ) |
Расширение имени файла | .текст |
---|---|
Тип интернет-СМИ | текстовый/обычный |
Введите код | ТЕКСТ |
Единый идентификатор типа (UTI) | public.plain-text |
конформация ИМВП | public.text |
Тип формата | Формат файла документа , Общий формат контейнера |
Текстовый файл (иногда пишется как текстовый файл ; старое альтернативное название — плоский файл ) — это разновидность компьютерного файла , структурированного как последовательность строк электронного текста . Текстовый файл хранится в виде данных в файловой системе компьютера . В таких операционных системах, как CP/M , где операционная система не отслеживает размер файла в байтах, конец текстового файла обозначается размещением одного или нескольких специальных символов, известных как конец файла (EOF). ) маркер как дополнение после последней строки в текстовом файле. В современных операционных системах, таких как DOS , Microsoft Windows и Unix-подобных системах, текстовые файлы не содержат каких-либо специальных символов EOF, поскольку файловые системы этих операционных систем отслеживают размер файла в байтах. Большинство текстовых файлов должны иметь разделители конца строки , которые выполняются разными способами в зависимости от операционной системы. Некоторые операционные системы с файловыми системами, ориентированными на записи, могут не использовать новые разделители строк и в основном хранят текстовые файлы со строками, разделенными как записи фиксированной или переменной длины.
«Текстовый файл» относится к типу контейнера, а обычный текст — к типу контента.
На общем уровне описания существует два типа компьютерных файлов: текстовые файлы и двоичные файлы . [1]
Хранение данных
[ редактировать ]Из-за своей простоты текстовые файлы обычно используются для хранения информации. Они позволяют избежать некоторых проблем, возникающих с другими форматами файлов, таких как порядок байтов , заполнение байтов или различия в количестве байтов в машинном слове . Кроме того, когда в текстовом файле происходит повреждение данных , зачастую легче восстановить и продолжить обработку оставшегося содержимого. Недостатком текстовых файлов является то, что они обычно имеют низкую энтропию , а это означает, что информация занимает больше места, чем это строго необходимо.
Простой текстовый файл может не нуждаться в дополнительных метаданных (кроме знания его набора символов ), чтобы помочь читателю в интерпретации. Текстовый файл может вообще не содержать данных, что является случаем файла с нулевым байтом .
Кодирование
[ редактировать ]Набор символов 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.
Форматы
[ редактировать ]В большинстве операционных систем имя текстового файла относится к формату файла, который допускает только обычный текстовый контент с очень небольшим форматированием (например, без жирного шрифта или курсива ). Такие файлы можно просматривать и редактировать на текстовых терминалах или в простых текстовых редакторах . Текстовые файлы обычно имеют MIME. тип text/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 спецификацию, [2] чтобы отличать кодировку UTF-8 от других 8-битных кодировок. [3]
Текстовые файлы Unix
[ редактировать ]В Unix-подобных операционных системах формат текстовых файлов точно описан: POSIX определяет текстовый файл как файл, содержащий символы, организованные в ноль или более строк. [4] где строки представляют собой последовательности из нуля или более символов, не являющихся символами новой строки, плюс завершающий символ новой строки, [5] обычно НЧ.
Кроме того, 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-символы , которые можно редактировать как обычный текст. Хотя в текстовом файле может быть простой текст, управляющие символы внутри файла (особенно символ конца файла) могут сделать простой текст невидимым для определенного метода.
См. также
[ редактировать ]- ASCII
- EBCDIC
- Расширение имени файла
- Список форматов файлов
- Новая строка
- Подсветка синтаксиса
- Текстовый протокол
- Текстовый редактор
- Юникод
Примечания и ссылки
[ редактировать ]- ^ Льюис, Джон (2006). Освещение информатики . Джонс и Бартлетт. ISBN 0-7637-4149-3 .
- ^ «Использование знаков порядка байтов» . Интернационализация приложений Windows . Майкрософт . 7 января 2021 г. Архивировано из оригинала 21 февраля 2023 г. Проверено 21 апреля 2022 г.
- ^ Фрейтаг, Асмус (18 декабря 2015 г.). «Часто задаваемые вопросы — UTF-8, UTF-16, UTF-32 и спецификация» . Консорциум Юникод . Проверено 30 мая 2016 г.
Да, UTF-8 может содержать спецификацию. Однако не порядок байтов потока имеет значения. UTF-8 всегда имеет одинаковый порядок байтов. Исходная спецификация используется только в качестве подписи — признака того, что немаркированный текстовый файл находится в кодировке UTF-8. Обратите внимание, что некоторые получатели данных в кодировке UTF-8 не ожидают спецификации. Если UTF-8 используется прозрачно в 8-битных средах, использование спецификации будет мешать любому протоколу или формату файла, который ожидает в начале определенные символы ASCII, например использование «#!» в начале сценариев оболочки Unix.
- ^ «3.403 Текстовый файл» . IEEE Std 1003.1, издание 2017 г. Компьютерное общество IEEE . Проверено 01 марта 2019 г.
- ^ «Линия 3.206» . IEEE Std 1003.1, издание 2013 г. Компьютерное общество IEEE . Проверено 15 декабря 2015 г.
- ^ «3.284 Файл для печати» . IEEE Std 1003.1, издание 2013 г. Компьютерное общество IEEE . Проверено 15 декабря 2015 г.
- ^ Перейти обратно: а б «Объявленные системой унифицированные идентификаторы типов» . Руководства и пример кода . Apple Inc. 17 ноября 2009 г. Проверено 12 сентября 2016 г.
- ^ Перейти обратно: а б «Разработка сценариев для кроссплатформенного развертывания» . Библиотека разработчиков Mac . Apple Inc. 10 марта 2014 г. Проверено 12 сентября 2016 г.
Внешние ссылки
[ редактировать ]- Сила простого текста на вики C2