Не блытаць з Тэкставы файл.
**Тэкставыя даныя** (таксама **тэкставы фармат**) — прадстаўленне інфармацыі ў вылічальнай сістэме ў выглядзе паслядоўнасці друкаваных сімвалаў. У MIME закадзіраваным такім чынам даным адпавядае тып `text/plain`.

Часта тэкставыя даныя разумеюць у больш вузкім сэнсе — як тэкст на якіх-небудзь мовах (фармальных ці натуральных), які можна прачытаць і зразумець чалавеку.

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

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

Структура
---------

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

Патрабаванне, каб чалавек мог разумець змест, уносіць дадатковую лішкавасць ва ўяўленне даных. Напрыклад, лік 123, для кадзіравання якога досыць аднаго 8-бітнага байта, у тэкставым выглядзе кадзіруецца некалькімі лічбавымі сімваламі — так, у дзесятковай сістэме злічэння для гэтага трэба тры знакі («123»), у двайковай — сем знакаў («1111011»), у шаснаццатковай — два («7B»).

### Падзел на радкі

Тэкставыя даныя могуць падзяляцца на радкі. На некаторых платформах (пераважна ў аперацыйных сістэмах сямейства UNIX) падзел на радкі кадзіруецца адным кіруючым знакам з кодам 10 (0x0A) у табліцы ASCII (называецца — Line Feed, LF), на іншых (напрыклад у MS-DOS і Microsoft Windows) — парай кіруючых знакаў з кодамі 13 (0x0D) і 10 (0x0A) (Carriage Return і Line Feed, CR/LF). У Mac OS (але да Mac OS X) падзел кадзіруецца адным знакам з кодам 13 (0x0D).

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

Таксама, знакі падзелу радкоў выкарыстоўваліся для кіравання механічнымі прынтарамі (у якасці якіх маглі выступаць тыя ж друкавальныя машынкі, што і для ўводу) — знак LF выклікаў пракрутку рулона з паперай, а знак CR выклікаў вяртанне друкавальнай карэткі (там, дзе яны былі) у пачатак радка. Адсюль і назва знакаў — англ.: Line Feed (перавод радка) і англ.: Carriage Return (вяртанне карэткі).

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

Ужыванне
--------

Тэкставы файл, паказаны камандай `cat` у акне xterm
Асноўная мэта ўжывання тэкставых даных — універсальнасць, незалежнасць ад асобных праграм, якія патрабуюць уласнага кадзіравання ці фарматавання і несумяшчальных з іншымі праграмамі. Тэкставыя файлы (файлы ў тэкставым фармаце) можна адкрыць, прачытаць і адрэдагаваць у любых тэкставых рэдактарах, такіх як MS-DOS Editor (DOS), Блакнот (Windows), ed, vi і vim (UNIX, Linux), SimpleText, TextEdit (Mac OS X) і г. д. Іншыя праграмы таксама, як правіла, умеюць чытаць і імпартаваць тэкставыя даныя. Праглядзець тэкставыя файлы можна таксама ўбудаванымі камандамі (`type` у DOS і Windows) і утылітамі (`cat` у Unix).

Тэкставы фармат часта выкарыстоўваецца для прадстаўлення даных, якія самі не з'яўляюцца выключна тэкставымі. У гэтым выпадку іншыя фарматы даных «надбудоўваюцца» над простым тэкстам, для чаго іх кіруючыя канструкцыі выражаюцца праз друкаваныя словы і знакі прыпынку. Гэта забяспечвае зручнасць працы з данымі на двух узроўнях — напрыклад, даныя HTML і XML можна праглядаць і рэдагаваць з паказам фарматавання ў рэжыме WYSIWYG, а можна адкрыць іх у звычайным тэкставым рэдактары і мець доступ да ўсіх дэталей мовы разметкі. Пры захоўванні даных у «двайковым» выглядзе (як гэта робіцца, напрыклад, у Microsoft Word ранніх версій) з імі нярэдка нельга працаваць у іншых праграмах (з-за недаступнасці інфармацыі аб структуры фармату) ці нават у розных версіях адной і той жа праграмы.

У большасці моў праграмавання прапануецца ўжыванне тэкставага фармату для зыходнага кода праграм. Гэта таксама дазваляе выкарыстоўваць для зыходных кодаў разнастайныя ўтыліты для пераўтварэнняў, афармлення, пошуку, статыстыкі, аналізу і інш.

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

Блізкія тэрміны
---------------

Тэрмін *адкрыты тэкст* (англ.: plaintext; выглядае вельмі падобна на тэрмін англ.: plain text, якім пазначаюцца тэкставыя даныя) шырока ўжываецца ў крыптаграфіі і абазначае любыя незашыфраваныя даныя, у тым ліку і нятэкставыя. Тэрмін *чысты тэкст* (англ.: cleartext) таксама ўжываецца ў крыптаграфіі і абазначае незашыфраваныя даныя, да таго ж зразумелыя чалавеку і неабароненыя ад «падслухоўвання» пры перадачы.

|  |  |
| --- | --- |
| ⚙️   Нарматыўны кантроль | Microsoft: 46503548 |

| ⛭Тыпы даных |
| --- |
| 
Біт •
Нібл •
Байт •
Кубіт •
Трыт •
Трайт •
Слова
 |
| Лікавыя | 
Цэлы •
З фіксаванай коскай •
З плаваючай коскай •
Рацыянальны •
Комплексны •
Доўгі •
Інтэрвальны
 |
| Тэкставыя | 
Сімвальны •
Радковы
 |
| Спасылкавыя | 
Адрас •
Спасылка •
Спасылка ў С++ •
Указальнік
 |
| Кампазітныя | 
Алгебраічны тып даных
(Абагульнены) •
Масіў •
Асацыятыўны масіў •
Клас •
Спіс •
Картэж •
Аб’ект •
Структура •
Мноства •
Аб’яднанне (пазначанае)
 |
| Іншыя | 
Лагічны •
Ніжэйшы •
Вышэйшы •
Пералічальны •
Калекцыя •
Выключэнне •
Функцыянальны •
Род (Метакласс) •
Манада •
Семафор •
Струмень •
Void
 |
| Звязаныя тэмы | 
Абстрактны тып даных •
Прымітыўны тып •
Структура даных •
Generic •
Зменная тыпа •
Інтэрфейс •
Канструктар даных •
Канструктар тыпаў •
Канверсія тыпа •
Сістэма тыпаў
 |