You can edit almost every page by Creating an account. Otherwise, see the FAQ.

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

Материал из EverybodyWiki Bios & Wiki
Перейти к:навигация, поиск

Шаблон:See other values

Ошибка скрипта: Модуля «Unsubst» не существует. 

Страница Шаблон:Универсальная карточка/styles.css не имеет содержания. Ошибка скрипта: Модуля «Universal infocard» не существует.Ошибка скрипта: Модуля «Wikidata/category» не существует.

Пиктограммное описание текстового файла с CSV-данными

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

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

Описание[править]

Ошибка скрипта: Модуля «Основная статья» не существует. Текстовый файл содержит последовательность символов (в основном печатных знаков, принадлежащих тому или иному набору символов). Эти символы обычно сгруппированы в строки (англ. Шаблон:Langi). В современных системах строки разделяются разделителями строк, в прошлом же применялось хранение строк в виде записей постоянной или переменной длины (см.: Перфокарта). Иногда конец текстового файла (особенно если в файловой системе не хранится информация о размере файла) также отмечается одним или более специальными знаками, известными как маркеры конца файла.

Преимущества и недостатки[править]

Преимущества:

  • Универсальность — текстовый файл может быть прочитан (так или иначе) на любой системе или ОС, особенно если речь идёт об однобайтных кодировках вроде ASCII, которые не подвержены проблеме, характерной для других форматов файлов — для них не важна разница в порядке байтов или длине машинного слова.
  • Устойчивость — каждое слово и символ в таком файле самодостаточны и, если случится повреждение байтов в таком файле, то обычно можно восстановить данные или продолжить обработку остального содержимого, в то время как у сжатых или двоичных файлов повреждение нескольких байтов может сделать файл совершенно невосстановимым. Многие системы управления версиями рассчитаны на текстовые файлы и с двоичными файлами могут работать только как с единым целым.
  • Формат текстового файла крайне прост и его можно изменять текстовым редактором — программой, входящей в комплект практически любой ОС.

Недостатки:

  • У больших несжатых текстовых файлов низкая информационная энтропия — эти файлы занимают больше места, нежели минимально необходимо. Хотя эта избыточность и определяет повышенную устойчивость к сбоям в каналах передачи данных и при получении данных с носителей, например, с магнитной ленты.
  • Некоторые операции с текстовыми файлами неэффективны. Например, если в файле встретится число, вычислительная система до начала операций с ним должна будет перевести его в свой внутренний формат, применив сравнительно сложную процедуру конвертации числа; чтобы перейти на 1000-ю строку, требуется считать 999 строк, идущих до неё; сложно заменить одну строку другой и т. д. Поэтому при работе с большими объёмами данных текстовые файлы применяют только как промежуточный формат, обеспечивающий интероперабельность.

Форматы, основанные на текстовых файлах[править]

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

Текстовый формат служит основой для многих более специализированных форматов (например, .ini, SGML, HTML, XML, TeX, исходных текстов языков программирования). В некоторых из таких форматов определённые сочетания символов могут использоваться как средства разметки текста. В таком случае файл может хранить форматированный текст, в котором для символов дополнительно может быть задан шрифт, начертание, размер и т. п. (например, Rich Text Format, HTML).

Расширения имён файлов[править]

В DOS, macOS и Windows для файлов с неформатированным текстом обычно используется расширение .txt. Тем не менее, текстовыми могут являться файлы с любым другим расширением или без оного. Например, исходные коды программ обычно хранятся в файлах с расширениями, соответствующими языку программирования, на котором написаны программы (.java, .bas, .pas, .c).

Форматированный текст (текст с разметкой) обычно хранится в файлах с расширением, соответствующим формату или языку разметки — .rtf, .htm, .html.

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

8-битный текст[править]

Ошибка скрипта: Модуля «Основная статья» не существует. Исторически для кодирования текстовых файлов применялись 7-битный набор символов ASCII, а также 8-битные EBCDIC и различные расширения ASCII. В 8-битных кодовых страницах общепринято использовать в первой половине кодовой таблицы символы, соответствующие ASCII.

Преимуществом 8-битного представления текста является программная простота и независимость от проблемы порядка байтов или длины машинного слова. Недостаток — большое количество различных стандартов, что может приводить к несовместимости.

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

Применение Unicode в текстовых файлах хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является байт (8 бит), которых для кодирования одного символа из Юникода требуется несколько. В качестве решения применяются несовместимые между собой системы UTF-8 и две версии UTF-16 (UTF-16LE и UTF-16BE с противоположным порядком байтов). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF[1]), позволяющий распознать формат однозначно. UTF-8 имеет преимущество обратной совместимости с ASCII, однако программная обработка текста в UTF-8 усложняется непостоянным размером символа. Также тексты в Юникоде отличаются ещё большей избыточностью, нежели 8-битные.

Управляющие символы[править]

Ошибка скрипта: Модуля «Основная статья» не существует. Различные операционные системы придерживаются своего представления перевода строки и конца файла. В UNIX перевод строки состоит из одного символа LF (код 0xA), в Mac OS (но не macOS) — из символа CR (код 0xD), а в DOS и Windows перевод строки кодируется последовательностью двух символов: CR и LF.

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

Помимо названных, в текстовых файлах встречаются такие символы, как табуляция (код 9) и перевод страницы (код 0xC). Последний использовался старыми текстовыми редакторами наподобие ЛЕКСИКОН, а также в файлах, предназначенных для распечатки на принтере.

Примечания[править]

  1. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.

Шаблон:Электронные книги Шаблон:Ambox


This article "Текстовый файл" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Текстовый файл. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[править]