Тэкставы файл — камп’ютарны файл, які змяшчае тэкставыя даныя, звычайна пададзеныя ў выглядзе радкоў.

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

У адрозненне ад тэрміна «тэкставы фармат», які апісвае змест даных, тэрмін «тэкставы файл» датычыцца іменна файла і апісвае яго як ёмістасць, што захоўвае такія даныя.

Апісанне правіць

Тэкставы файл уяўляе сабой паслядоўнасць сімвалаў (у асноўным друкавальных знакаў, якія належаць таму ці іншаму набору сімвалаў). Гэтыя сімвалы звычайна згрупаваны ў радкі (англ.: lіnes, rows). У сучасных сістэмах радкі падзяляюцца падзяляльнікамі радкоў, у мінулым мела месца захоўванне радкоў у выглядзе запісаў сталай ці зменнай даўжыні (гл.: Перфакарта). Часам канец тэкставага файла (асабліва калі ў файлавай сістэме не захоўваецца інфармацыя аб памеры файла) таксама адзначаецца адным ці болей адмысловымі знакамі, вядомымі як меткі або маркеры канца файла.

Тэкставы файл можа змяшчаць як фарматаваны, так і нефарматаваны тэкст.

Перавагі і недахопы правіць

Перавагі:

  • Універсальнасць — тэкставы файл можна прачытаць (так ці інакш) на любой сістэме ці АС, асабліва калі гаворка ідзе аб аднабайтных кадыроўках на ўзор ASCіі, якія звычайна не выклікаюць праблемы, якая можа ўзнікаць пры выкарыстанні іншых фарматаў файлаў — для іх не мае значэння розніца ў парадку байтаў ці даўжыні машыннага слова на розных платформах.
  • Устойлівасць — кожнае слова і сімвал у такім файле самадастатковыя, і, калі здарыцца пашкоджанне байтаў у такім файле, то звычайна лягчэй аднавіць даныя і працягнуць апрацоўку астатняга зместу, у той час як у сціснутых ці двайковых файлах пашкоджанне некалькіх байтаў можа прывесці да немагчымасці аднавіць увесь змест файла. Многія сістэмы кіравання версіямі разлічаны на тэкставыя файлы і з двайковымі файламі могуць працаваць толькі як з адзіным цэлым.
  • Фармат тэкставага файла надзвычай просты і яго можна змяняць тэкставым рэдактарам — праграмай, якая ўваходзіць у склад практычна любой АС.

Недахопы:

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

Фарматы, заснаваныя на тэкставых файлах правіць

З прычыны сваёй прастаты тэкставыя файлы нярэдка выкарыстоўваюцца для захоўвання службовай інфармацыі (напрыклад, файлаў-часопісаў). Тэкставы фармат служыць асновай для многіх адмысловых фарматаў (напрыклад, .іnі, SGML, HTML, XML, TeX, зыходных тэкстаў моў праграмавання).

У тэкставым файле тэкст можна захоўваць як у нефарматаваным, так і фарматаваным ці размечаным выглядзе (напрыклад, Rіch Text Format, HTML), дзе к кожнаму асобнаму сімвалу можна прымяніць фарматаванне (шрыфт, напісанне, памер і інш.).

Пашырэнні імён файлаў правіць

У DOS і Windows для файлаў з нефарматаваным тэкстам звычайна выкарыстоўваецца пашырэнне .txt. Тым не менш, тэкставымі могуць з'яўляцца файлы з любым іншым пашырэннем ці без яго. Напрыклад, зыходныя коды праграм звычайна захоўваюцца ў файлах з пашырэннямі, якія адпавядаюць мове праграмавання, на якой напісаны праграмы (.bas, .pas, .c).

Фарматаваны тэкст (тэкст с разметкай) звычайна захоўваецца ў файлах з пашырэннем, якое адпавядае фармату ці мове разметкі.rtf, .htm, .html.

Кадзіраванне тэксту правіць

8-бітны тэкст правіць

Гістарычна для кадзіравання тэкставых файлаў выкарыстоўваўся 7-бітны набор сімвалаў ASCII, а таксама 8-бітныя EBCDіC і разнастайныя пашырэнні ASCII. У 8-бітных кодавых старонках агульнапрынята размяшчаць у першай палове кодавай табліцы сімвалы, якія адпавядаюць ASCII.

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

Unіcode ў тэкставых файлах правіць

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

Кіруючыя сімвалы правіць

Розныя аперацыйныя сістэмы прытрымліваюцца свайго прадстаўлення сімвалаў перавода радка і канца файла. У Unix перавод радка складаецца з аднаго сімвала LF (код 10), у Mac OS — з сімвала CR (код 13), а ў DOS і Windows перавод радка кадзіруецца паслядоўнасцю двух сімвалаў: CR і LF.

Апроч названых, у тэкставых файлах ужываюцца такія сімвалы, як табуляцыя (код 9) і перавод старонкі (код 12).

Гл. таксама правіць

Зноскі

  1. Стандарт Unіcode, ч. 2.(недаступная спасылка)