Топ питань
Часова шкала
Чат
Перспективи

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

З Вікіпедії, вільної енциклопедії

Текстовий файл
Remove ads

Те́кстовий файл (англ. textfile; застаріле англ. flatfile) — форма подання послідовності символів у комп'ютері, де кожен символ із задіяного набору символів кодується одним байтом чи послідовністю двох, трьох і т. д. байтів.

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

На відміну від терміна «текстовий формат», що характеризує вміст даних, термін «текстовий файл» стосується файлу та характеризує його як контейнер, який зберігає такі дані.

Remove ads

Опис

Узагальнити
Перспектива

Текстовий файл — послідовність символів (переважно друкованих знаків, що належать тому чи іншому набору символів). Ці символи зазвичай згруповані в рядки (англ. lines, rows). У сучасних системах рядки розділяються роздільниками рядків, у минулому ж рядки зберігались у вигляді записів постійної або змінної довжини (перфокарта). Іноді кінець текстового файлу (особливо тоді, коли в файловій системі не зберігається інформація про розмір файлу) також позначається спеціальними знаками (одним або більше), відомими як маркери кінця файлу.

Текстовий файл може містити як форматований, так і неформатований текст.

Текстовим файлам протиставляються двійкові (бінарні) файли, в яких інформація організована за іншими принципами (вона містить інформацію, не прив'язану до набору символів).

Переваги та недоліки

Переваги

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

Недоліки

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

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

В силу своєї простоти текстові файли нерідко використовуються для зберігання службової інформації (наприклад, логів): оскільки операція додавання в кінець текстового файлу нових даних не вимагає значних обчислювальних ресурсів (незалежно від уже наявного обсягу файлу і виду текстових даних, що додаються), ведення текстових лог-файлів зазвичай відбувається ефективно та непомітно для користувача і для інших додатків (аж до вичерпання дискового простору). Текстовий формат служить основою для багатьох спеціалізованих форматів (наприклад, .ini, SGML, HTML, XML, TeX, вихідних текстів мов програмування).

В текстовому файлі текст може зберігатися як в неформатованому, так і в форматованому або розміченому вигляді (наприклад, Rich Text Format, HTML), де кожен символ чи група символів (рядки, абзаци, таблиці тощо) може бути відформатований (визначений шрифт, накреслення, розмір і т. д.). З

Розширення імен файлів

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

Форматований текст (текст із розміткою) зазвичай зберігається у файлах з розширенням, відповідним формату або мові розмітки .rtf, .htm, .html тощо.

Remove ads

Кодування

Узагальнити
Перспектива

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

Докладніше: Кодова сторінка

Історично для кодування текстових файлів застосовувалися 7-бітний набір символів ASCII, а також 8-бітні EBCDIC та різні розширення ASCII. У 8-бітних кодових сторінках у першій половині кодової таблиці загальноприйнято використовувати символи, відповідні ASCII.

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

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

Застосування Unicode у текстових файлах хоча й переважно вирішує «проблему кодувань» та стандартизує вживання керуючих символів, але створює свої проблеми. У більшості сучасних систем неподільною одиницею інформації в потоці даних є байт (октет, 8 біт), яких для кодування одного символу Юнікоду потрібно декілька. Як вихід, застосовуються несумісні між собою системи: UTF-8 і дві версії UTF-16 (UTF-16LE та UTF-16BE з протилежним між собою порядком байтів). Іноді в початок файлу додають спеціальний символ-маркер (U + FEFF), що дозволяє розпізнати формат однозначно. UTF-8 має перевагу зворотної сумісності з ASCII, однак програмна обробка тексту в UTF-8 ускладнюється непостійним розміром символу. Тексти в Юнікоді відрізняються ще більшою надмірністю, ніж 8-бітові[1].

Символи керування

Докладніше: Керуючі символи

Різні операційні системи дотримуються свого уявлення про символи нового рядка та кінця файлу. В UNIX символ нового рядка — одиничний символ LF (код 0xA), в Mac OS — символ CR (код 0xD), а в DOS і Windows — послідовність двох символів: CR і LF.

Remove ads

Дивись також

Примітки

Джерела

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads