Faýl formatlary
TXT faýly näme? Ýönekeý tekst, kodlamalar we UTF-8
TXT iň ýönekeý resminama formatydyr: diňe nyşanlar we setir geçişleri. Emma kodlamalar, BOM we setir soňlary ony iň köp kynçylyk döredýän formatlaryň birine öwürýär. Olaryň hersini düşündirýäris.
Awtor: Hemen Dönüştür Editör EkibiÇap edildi: 7 min okamak

TXT kompýuteriň iň ýönekeý resminama formatydyr: galyň ýazgy ýok, şrift ýok, sahypa maketi ýok, diňe nyşanlar we setir geçişleri. Bu ýönekeýlik ony örän göçme edýär. Elli ýyl mundan öň ýazylan tekst faýlyny şu gün açyp bilersiňiz, şu gün ýazanyňyz hem, ähtimal, onlarça ýyldan soň açylar. Emma "ýönekeý tekst" görünýäni ýaly ýönekeý däl. Aksentli harplaryň "é" ýa-da "?" bolup galmagy, setirleriň bir setire birleşmegi, faýlyň başynda görünmeýän nyşan: bularyň hemmesi TXT faýlynyň içindäki bir gizlin jikme-jiklikden, onuň nyşan kodlamasyndan gelip çykýar. Bu makalada TXT faýllarynyň nähili işleýändigi we bu meseleleri nädip düzetmelidigi düşündirilýär.
TXT faýly näme?
.txt giňeltmeli faýlda tekst nyşanlaryndan başga hiç zat ýok. Sözbaşy, metamaglumat we formatlama ýok; her baýt tekstiň özüne degişlidir. Esasy sorag şu: haýsy baýt haýsy nyşany aňladýar? Bu gabat gelşige nyşan kodlamasy diýilýär we TXT faýly adatça haýsy kodlamany ulanýandygyny aýtmaýar. Ony açýan programma çaklamaly bolýar.
Gysgaça taryhy: ASCII-den UTF-8-e
ASCII ilkinji gezek 1963-nji ýylda ASA X3.4-1963 hökmünde çap edildi. Ol 7 bit ulanýar we 128 nyşany kesgitleýär: iňlis elipbiýi, sanlar, dyngy belgileri we setir geçişi ýaly dolandyryş nyşanlary. é, ñ, ö ýaly harplar ýa-da türkmen elipbiýindäki ň we ž ASCII-e girmeýär.
Bu boşlugy doldurmak üçin 8 bitli baýtyň galan 128 bahasyny dürli dillere berýän kod sahypalary peýda boldy: Günbatar Ýewropa dilleri üçin Windows-1252 we ISO-8859-1, türk dili üçin Windows-1254 we ISO-8859-9 we başga-da köp sanlysy. Mesele şunda: şol bir baýt dürli kod sahypalarynda dürli harplary aňladýar. Meselem, FD baýty Windows-1252-de "ý", Windows-1254-de bolsa "ı" bolýar. Nädogry kod sahypasyny çaklaýan programma teksti nädogry görkezýär.
Hemişelik çözgüt her ýazuw ulgamyndaky her nyşana ýeke-täk san berýän Unicode boldy. UTF-8 şol sanlary baýtlara öwürmegiň iň giň ýaýran usulydyr. Rob Pike-yň gürrüň bermegine görä, Ken Thompson UTF-8-i 1992-nji ýylyň sentýabr aýlarynda bir gije Nýu-Jersidäki naharhananyň saçak kagyzynda taslapdyr. Onuň häzirki kesgitlemesi 2003-nji ýylyň noýabryndaky RFC 3629-dyr: UTF-8 U+0000-dan U+10FFFF-e çenli her nyşany 1-den 4-e çenli baýtda kodlaýar we ASCII nyşanlaryny ASCII-däki ýaly şol bir ýeke baýt bilen ýazýar.
UTF-8-iň nähili agdyklyk edýändigini web görkezýär: W3Techs-iň 2026-njy ýylyň 15-nji oktýabryndaky maglumatlaryna görä, nyşan kodlamasy belli bolan web sahypalaryň 99,1%-i UTF-8 ulanýar, ondan soň 0,8% bilen ISO-8859-1 we 0,2% bilen Windows-1252 gelýär.
TXT faýlynyň içinde näme bar?
Nyşanlar we baýtlar
"café" sözüni UTF-8 we Windows-1252 hökmünde ýatda saklasaňyz, dürli baýtlary alarsyňyz:
Tekst: c a f é
UTF-8: 63 61 66 C3 A9 (5 baýt)
Windows-1252: 63 61 66 E9 (4 baýt)
UTF-8 faýlyny Windows-1252 hökmünde okaýan programma C3 we A9-y iki aýry nyşan, "é" görnüşinde görkezýär. Tersine, Windows-1252 faýlyny UTF-8 hökmünde okaýan programma E9-y nädogry hasaplaýar we onuň ýerine "�" görkezýär. Bozulan nyşan meseleleriniň diýen ýaly hemmesi şu iki ýagdaýyň biridir.
BOM (baýt tertibi belgisi)
Käbir programmalar UTF-8 faýlynyň başyna EF BB BF baýtlaryny goýýar. Bu "bu faýl UTF-8" diýmegi aňladýan gol hökmünde ulanylýan U+FEFF nyşanynyň UTF-8 görnüşidir. RFC 3629 bu goluň hemişe şol üç baýt görnüşinde peýda bolýandygyny belleýär. Unicode-yň ýygy soraglaryna görä, UTF-8-de BOM hökmany däl we diňe gol bolup hyzmat edýär, faýlyň başynda ASCII nyşanlaryna garaşýan protokollarda bolsa ondan gaça durmaly. Amalyýetde BOM käbir köne Windows programmalaryna we Excel-e UTF-8-i tanamaga kömek edýär, ýöne Unix gabyk skriptlerini we käbir programmalaryň okaýan konfigurasiýa faýllaryny bozup biler.
UTF-16-da BOM has-da möhüm, sebäbi ol okaýja baýt tertibini aýdýar: FF FE little-endian, FE FF bolsa big-endian UTF-16 diýmekdir.
Setir soňlary
Setiriň soňuny belleýän nyşan hem operasion ulgama bagly:
| Ulgam | Setir soňy | Baýtlar |
|---|---|---|
| Windows | CRLF | 0D 0A |
| Linux, macOS | LF | 0A |
| Klassiki Mac OS (OS X-den öň) | CR | 0D |
Köp ýyllap Windows Notepad diňe CRLF-a düşünýärdi, şonuň üçin Linux-da ýazylan faýl bir uzyn setir bolup görünýärdi. Microsoft Notepad üçin LF we CR goldawyny 2018-nji ýylyň 8-nji maýynda yglan etdi we bu üýtgeşme ulanyjylara Windows 10-yň 1809 wersiýasy bilen ýetdi.
TXT nirede ulanylýar?
- Bellikler we garalamalar: formatlama talap etmeýän çalt bellikler.
- Programma üpjünçiligi: README faýllary, ygtyýarnama tekstleri, çeşme kody, konfigurasiýa faýllary we žurnallar.
- Maglumat alyşmak: ulgamlaryň arasynda geçirilýän ýönekeý sanawlar we eksportlar.
- Uzak möhletli saklamak: hiç bir programma bagly bolmazdan arhiwlenmeli tekst.
- Elýeterlilik we işlemek: ekran okaýjylary, gözleg ulgamlary we tekst seljeriş gurallary üçin iň arassa giriş.
Güýçli we gowşak taraplary
Güýçli taraplary: ony islendik enjam we operasion ulgam açýar. Faýllar örän kiçi. Programma wersiýalaryna baglylyk ýok we zeperlenmek howpy örän az. Git ýaly wersiýa gözegçilik ulgamlary üýtgeşmeleri setirme-setir görkezip bilýär. Makros ýa-da goşulan obýekt saklap bilmeýär, bu bolsa ony howpsuz edýär.
Gowşak taraplary: formatlamany, şekilleri, tablisalary ýa-da salgylary saklap bilmeýär. Kodlama faýlda ýazylmaýandygy sebäpli nädogry çaklanyp bilner. Setir soňlarynyň tapawudy ulgamlaryň arasynda kiçi, ýöne gaharlandyryjy meseleleri döredýär. Sözbaşylar we sanawlar ýaly gurluş gerek bolsa, Markdown has gowy saýlawdyr.
TXT-i haýsy programmalar açýar?
Windows-da Notepad, macOS-da TextEdit, Linux-da gedit we oňa meňzeş redaktorlar TXT-i açýar, brauzerler hem tekst faýllaryny göni görkezip bilýär. Visual Studio Code, Notepad++ we Sublime Text ýaly ösen redaktorlar ýagdaý setirinde kodlamany we setir soňunyň görnüşini görkezýär we ikisini hem bir basyş bilen üýtgetmäge mümkinçilik berýär, şonuň üçin olar kodlama meselelerini anyklamak üçin iň amatly gurallardyr.
Ýygy duş gelýän meseleler we olary çözmek
Aksentli nyşanlar "é" ýa-da "ü" ýaly görünýär
Faýl UTF-8 hökmünde ýatda saklanypdyr, ýöne ony okaýan programma Windows-1252 diýip çaklaýar. Kodlamany saýlamaga mümkinçilik berýän redaktorda ony UTF-8 hökmünde gaýtadan açyň. CSV ýa-da tekst faýly Excel-de şeýle görünýän bolsa, ony BOM-ly UTF-8 hökmünde ýatda saklamak adatça meseläni çözýär.
Nyşanlaryň ýerine "?" ýa-da "�" çykýar
Faýl köne kod sahypasynda ýatda saklanypdyr, ýöne UTF-8 hökmünde okalýar. Ony redaktoryňyzda dogry kod sahypasyny saýlap açyň, soňra UTF-8 hökmünde ýatda saklaň. Tekst hakyky "?" nyşanlary bilen ýatda saklanan bolsa, asyl nyşanlar ýitipdir we çeşmä gaýdyp barmaly bolarsyňyz.
Ähli tekst bir setirde görünýär
Köne redaktor LF setir soňlaryna düşünmeýär. Täzelenen Notepad-y ýa-da ösen redaktory ulanyň ýa-da setir soňlaryny CRLF-a öwüriň.
Faýlyň başynda görünmeýän nyşan bar
Bu adatça BOM-dur. Skript ýa-da konfigurasiýa faýly birinji setirinde ýalňyşlyk berýän bolsa, ony "BOM-syz UTF-8" hökmünde ýatda saklaň.
TXT faýllaryny öwürmek boýunça maslahatlar
Biziň öwrüjimizde TXT faýllary serwerimize ýüklenýär we 30 minut içinde pozulýar. Kodlama awtomatik anyklanýar: ilki BOM barlanýar (UTF-8, UTF-16 little- we big-endian); BOM ýok bolsa, faýlyň dogry UTF-8 bolup-bolmandygy barlanýar; dogry UTF-8 bolmasa, ol köne türk Windows kod sahypasy bolan Windows-1254 hökmünde okalýar. Köp NUL baýtly faýllar tekst däl-de ikilik faýl hasaplanýar we "bu tekst faýly däl" habaryny alýarsyňyz.
- TXT-den Word-a we TXT-den PDF-e öwürmekde her setir abzasa öwrülýär we boş setirler saklanýar. Setir başyndaky içe süýşmeler (kod, goşgy ýa-da belgilenen bentler) ýitmez ýaly bölünmeýän boşluklara öwrülýär, setir başyndaky tablar bolsa dört boşluga öwrülýär.
- TXT-den Markdown-a öwürmek ýönekeý teksti soňra sözbaşylar we sanawlar bilen baýlaşdyrmak isleýän bolsaňyz gowy başlangyçdyr.
- Ters ugurda PDF-den TXT-e we Word-dan TXT-e öwürmek formatlamany aýyrýar we sözbaşylary hem abzaslary boş setirler bilen bölýär. Biziň döredýän TXT faýllarymyz aksentli nyşanlar Notepad we Excel ýaly programmalarda dogry görünsin diýip BOM-ly UTF-8 hökmünde ýatda saklanýar.
Köp berilýän soraglar
TXT faýlyny haýsy kodlamada ýatda saklamaly?
Täze faýllar üçin UTF-8. Ol ähli dilleri goldaýar we webde diýen ýaly umumy standart boldy. Faýly BOM-syz UTF-8-e garaşýan programma okajak bolsa BOM goşmaň; Excel ýaly programmalarda açyljak bolsa goşuň.
UTF-8 bilen BOM-ly UTF-8-iň arasynda nähili tapawut bar?
Mazmuny birmeňzeş; BOM-ly wersiýa diňe EF BB BF baýtlary bilen başlaýar. Bu gol käbir programmalara kodlamany anyklamaga kömek edýär, ýöne beýlekilerinde görünmeýän birinji nyşan bolup çykyp biler.
TXT bilen RTF-iň arasynda nähili tapawut bar?
TXT diňe nyşanlary saklaýar. RTF bolsa tekstiň içine goşulan dolandyryş buýruklary arkaly galyň, kursiw, şriftler we tablisalar ýaly formatlamany saklaýar. Formatlama gerek bolmasa, TXT has ýönekeý we has göçmedir.
TXT faýlynyň kodlamasyny nädip bilip bolar?
Visual Studio Code we Notepad++ ýaly redaktorlar kodlamany ýagdaý setirinde görkezýär. Notepad-yň häzirki wersiýalary hem ýagdaý setirinde kodlamany we setir soňunyň görnüşini görkezýär.
TXT faýlynda wirus bolup bilermi?
Ýönekeý tekst faýlynyň özünde ýerine ýetirilýän kod ýok. "resminama.txt.exe" ýaly goşa giňeltmelere seresap boluň; Windows-da faýl giňeltmelerini görünýän etmek bu hileni görmäge kömek edýär.
Çeşmeler
- IETF RFC 3629: UTF-8, a transformation format of ISO 10646 (2003-nji ýylyň noýabry)
- Unicode Consortium: UTF-8, UTF-16, UTF-32 and BOM FAQ
- Rob Pike: UTF-8 history
- W3Techs: Usage statistics of character encodings for websites
- Microsoft: Introducing extended line endings support in Notepad (8-nji maý, 2018)
- Wikipedia: ASCII (ikinji derejeli çeşme)


