TXT | это... Что такое TXT? (original) (raw)

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

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

Содержание

Организация текстового файла

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

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

О применяемых символах см. #Управляющие символы.

Преимущества и недостатки

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

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

Текстовые файлы, особенно если речь идёт об однобайтных кодировках вроде порядке байтов или длине машинного слова на разных платформах.

Более того, если повреждение данных (англ.) случится в текстовом файле, в этом случае обычно легче восстановиться и продолжить обработку остального содержимого.

Недостатки

Недостатком текстовых файлов является их низкая информационная энтропия — эти файлы занимают больше места, нежели минимально необходимо.

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

Форматы, основанные на текстовых файлах

В силу своей простоты текстовые файлы нередко используются для хранения информации (пример, для логов). Текстовый формат служит основой для многих более специализированных форматов. Например: ini, HTML, TeX, исходные тексты языков программирования…

Кодировки

8-битный текст

Исторически для кодирования текстовых файлов применялись 7-битный набор символов EBCDIC и различные расширения ASCII. В настоящее время в 8-битных кодовых страницах общепринято использовать ASCII в первой половине кодовой таблицы.

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

Управляющие символы

Различные операционные системы придерживаются своего представления перевода строки и конца файла. В 0x0A), в Mac OS — из символа CR (0x0D), а в Microsoft Windows перевод строки кодируется последовательностью двух символов CR LF. В DOS и Microsoft Windows конец файла кодируется символом 0x1A, а в UNIX символ конца файла не употребляется.

Помимо названных, в текстовых файлах применяются такие символы как табуляция (0x09) и перевод страницы (0x0C).

Unicode в текстовых файлах

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

Расширения имён файлов

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

Примечания

  1. Стандарт Unicode, ч. 2.