Кіріспе

Текст файлы (кейде текстовый файл деп те жазылады; ескі атауы flatfile) – электрондық мәтіннің жолдар тізбегі ретінде құрылған компьютерлік файлдың түрі. Текст файлы компьютерлік файл жүйесінде дерек ретінде сақталады. CP/M және DOS сияқты операциялық жүйелерде, егер операциялық жүйе файлдың өлшемін байттармен қадағаламаса, текст файлының соңы текст файлдың соңғы жолынан кейін бір немесе бірнеше арнайы символдарды (EOF) – файл соңының белгісі деп аталатын символдарды қосу арқылы көрсетіледі. Microsoft Windows және Unix сияқты қазіргі заманғы операциялық жүйелерде текст файлдарында арнайы EOF символы болмайды, себебі бұл операциялық жүйелердегі файлдық жүйелер файлдың өлшемін байттармен қадағалайды. Көптеген текст файлдарына операциялық жүйеге байланысты әртүрлі тәсілдермен жасалатын жол соңының белгілері қажет. Жазуға бағытталған файлдық жүйелері бар кейбір операциялық жүйелер жаңа жол белгілерін пайдаланбауы мүмкін және негізінен тұрақты немесе өзгермелі ұзындығы бар жазбалар түрінде бөлінген жолдармен текст файлдарын сақтайды. "Текст файлы" – контейнердің түрін білдіреді, ал қарапайым мәтін – мазмұнның түрін білдіреді. Жалпы сипаттама деңгейінде компьютерлік файлдардың екі түрі бар: текст файлдары және бинарлық файлдар.

Деректерді сақтау

Текст файлдары қарапайымдылығының арқасында ақпарат сақтау үшін жиі қолданылады. Олар басқа файл форматтарында кездесетін ендиандық, толтыру байттары, немесе машиналық сөздердегі байттар санының өзгешеліктері сияқты кейбір мәселелерден сақтануға мүмкіндік береді. Сонымен қатар, мәтіндік файлда деректердің бұзылуы болған жағдайда, қалған мазмұнды қалпына келтіру және оны өңдеуді жалғастыру көбінесе оңайырақ болады. Мәтіндік файлдардың бір кемшілігі – олардың энтропиясы төмендеу, яғни ақпарат қажеттіден артық орынды алады. Қарапайым мәтіндік файлға оқырманға түсіндіру үшін оның әріптер жиынтығын білуден басқа қосымша метадеректердің қажеті болмауы мүмкін. Мәтіндік файлда мүлдем дерек болмауы да мүмкін, бұл нөлдік байттық файлдың бір түрі.

Кодтау

ASCII таңбалар жиынтығы – ағылшын тіліндегі мәтіндік файлдар үшін ең көп қолданылатын, үйлесімді таңбалар жиынтығының кіші жиынтығы болып табылады және көп жағдайда файлдың стандартты форматы ретінде қарастырылады. Ол американдық ағылшын тілін қамтиды, бірақ британ фунт белгісі, евро белгісі немесе ағылшын тілінен тыс қолданылатын таңбалар үшін одан бай таңбалар жиынтығы қажет. Көптеген жүйелерде мұндай жиынтық, файл оқылатын компьютердің әдепкі тілдік параметрлеріне сәйкес таңдалады. UTF-8 пайда болуға дейін, Еуропа тілдері үшін әдетте бір байттық кодтаулар (мысалы, ISO 8859-1-ден ISO 8859-16-ға дейін), ал Азия тілдері үшін – кең таңбалы кодтаулар қолданылатын. Кодтаулардың міндетті түрде шектеулі таңбалар жиынтығы болады, көбінесе өте шағын, сондықтан олар тек адам тілдерінің шектеулі тобындағы мәтінді бейнелеуге ғана қолданылады. Юникод – барлық белгілі тілдерді бейнелеуге арналған ортақ стандартты құруға жасалған әрекет. Көптеген танымал таңбалар жиынтығы – өте үлкен Юникод таңбалар жиынтығының кіші жиынтығы болып табылады. Юникод үшін бірнеше таңба кодтаулар болғанымен, ең көп тарағаны – ASCII-мен кері үйлесімді UTF-8; яғни, кез келген ASCII мәтіндік файлы бірдей мағынаны сақтайтын UTF-8 мәтіндік файлы болып табылады. UTF-8 автоматты түрде анықталуының қолайлылығы да бар. Сондықтан, UTF-8 қолдауын көрсететін бағдарламалық құралдар белгісіз кодталған файлдарды ашқанда, әуелі UTF-8 форматын тексеріп, егер ол UTF-8 болмаса, тілдік параметрлерге байланысты ескі кодтауға көшеді.

Форматтар

Көптеген операциялық жүйелерде "мәтіндік файл" атауы тек қана қарапайым мәтіндік мазмұнды, өте аз форматтаумен (мысалы, қалың немесе курсив әріптерсіз) сақтауға мүмкіндік беретін файл пішімін білдіреді. Мұндай файлдарды мәтіндік терминалдарда немесе қарапайым мәтін редакторларында қарауға және өңдеуге болады. Мәтіндік файлдардың MIME түрі әдетте text/plain болып келеді, оған қоса кодтау туралы қосымша ақпарат да беріледі.

Microsoft Windows мәтіндік файлдары

DOS және Microsoft Windows ортақ мәтіндік файл форматын қолданады, мұнда мәтіннің әрбір жолы екі таңбалы комбинациямен бөлінеді: көшіру қайтарымы (CR) және жол көшіру (LF). Мәтіннің соңғы жолы CR LF белгісімен аяқталмауы жиі кездеседі, сондай-ақ көптеген мәтін редакторлары (Notepad сияқты) соңғы жолға автоматты түрде енгізбейді. Microsoft Windows операциялық жүйелерінде файл, егер файл атауының қосымшасы ("файл атауының кеңейтімі") txt болса, мәтіндік файл ретінде қарастырылады. Дегенмен, көптеген басқа қосымшалар нақты мақсаттар үшін мәтіндік файлдарда қолданылады. Мысалы, компьютерлік бағдарламалардың бастапқы коды әдетте мәтіндік файлдарда сақталады, файл атауының қосымшасы қолданылған бағдарламалау тілін көрсетеді. Көптеген Microsoft Windows мәтіндік файлдары ANSI, OEM, Unicode немесе UTF-8 кодтауын қолданады. Microsoft Windows терминологиясындағы "ANSI кодтаулары" әдетте ISO/IEC 8859 кодтаулары болып табылады (яғни, Microsoft Notepad мәзіріндегі ANSI шын мәнінде "Жүйелік кодтық беті", Unicode емес, ескі кодтама), бірақ қытай, жапон және корей сияқты екі байттық таңбалар жиынтығын қажет ететін жергілікті тілдерде бұл жағдай басқаша. ANSI кодтаулары дәстүрлі түрде Microsoft Windows жүйесінде Unicode-ке көшуден бұрын стандартты жүйелік тіл ретінде қолданылған. Ал OEM кодтаулары, DOS кодтық беттері деп те аталады, IBM компаниясы бастапқы IBM PC мәтіндік режиміндегі дисплей жүйесінде пайдалану үшін анықтаған. Олар әдетте DOS қолданбаларында жиі кездесетін графикалық және сызықтық элементтерді қамтиды. "Unicode" кодталған Microsoft Windows мәтіндік файлдары UTF-16 Unicode түрлендіру форматындағы мәтінді қамтиды. Мұндай файлдар әдетте байт реті белгісімен (BOM) басталады, ол файл мазмұнының енділігін көрсетеді. UTF-8 енділік проблемаларына ұшырамайды, бірақ көптеген Microsoft Windows бағдарламалары (мысалы, Notepad) UTF-8 кодталған файлдардың мазмұнына BOM-ды қосып, UTF-8 кодтауын басқа 8 биттік кодтаулардан ажыратады.

Unix мәтін файлдары

Unix сияқты операциялық жүйелерде мәтіндік файлдар форматы нақты сипатталған: POSIX мәтіндік файлды нөл немесе одан көп жолға ұйымдастырылған символдарды қамтитын файл ретінде анықтайды, мұнда жолдар нөл немесе одан көп жаңа жол символы емес символдар тізбегі және соңында жаңа жол символы, әдетте LF. Сонымен қатар, POSIX мәтіндік файлды, оның символдары аймақтық ережелерге сәйкес басып шығарылатын, бос орын немесе кері бос орын символы бар файл ретінде анықтайды. Бұл басып шығаруға болмайтын көптеген басқару символдарынан басқа.

Apple Macintosh мәтіндік файлдары

macOS пайда болғанға дейін классикалық Mac OS жүйесі файлдың мазмұнын (деректер бұрамасы) файлдың ресурстық бұрамасы оның түрін "TEXT" деп көрсеткен жағдайда мәтіндік файл деп санаған. Классикалық Mac OS мәтіндік файлдарының жолдары CR белгісімен аяқталады. Unix сияқты жүйе болғандықтан, macOS мәтіндік файлдар үшін Unix форматын қолданады. macOS-та мәтіндік файлдар үшін қолданылатын Бірыңғай типті анықтағыш (UTI) – "public.plain-text"; сондай-ақ, арнайы UTI-лар бар: utf-8 кодталған мәтін үшін – "public.utf8-plain-text", utf-16 кодталған мәтін үшін – "public.utf16-external-plain-text" және "public.utf16-plain-text", ал классикалық Mac OS мәтіндік файлдары үшін – "com.apple.traditional-mac-plain-text".

Рендеринг

Мәтін редакторымен ашылған кезде пайдаланушыға адам оқи алатын мазмұн ұсынылады. Бұл көбінесе файлдың пайдаланушыға көрінетін қарапайым мәтінінен тұрады. Қолданбаға байланысты, басқару кодтары редактордың іс-әрекет ететін нақты нұсқаулары ретінде немесе қарапайым мәтін ретінде өңделетін көрінетін басқару белгілері ретінде көрсетілуі мүмкін. Мәтіндік файлда қарапайым мәтін болғанымен, файл ішіндегі басқару таңбалары (әсіресе файл соңының таңбасы) белгілі бір тәсілмен қарапайым мәтінді көрінбейтін ете алады.