Fișier text
Un fișier text este un tip de fișier în care datele sunt stocate ca o secvență de caractere, într-o codificare predefinită (de obicei ASCII, dar mai recent și Unicode). Este un tip canonic de fișier unde datele sunt stocate ca "secvențe de biți" (binar). Nu orice fișier binar este un fișier text. Prin definire, un fișier text este codificat unitar, conținutul său fiind lizibil și editabil direct, prin intermediul unui editor simplu de text (Notepad, vi, emacs, gedit etc.).
Structură și codificare
[modificare | modificare sursă]Într-un fișier text, tipul de date este considerat explicit ca fiind textul neformatat. Organizarea unui astfel de fișier este pe rânduri (care se generează la apăsarea tastei Enter/Return), fiecare rând de text fiind delimitat de unul sau mai multe caractere de sfârșit de rând (caractere EOL). Acestea diferă în funcție de sistemul de operare folosit pentru crearea și editarea fișierului. Astfel, Windows folosește două caractere de control (ASCII 13 urmat de ASCII 10, sau, mai scurt CR+LF) pentru a semnaliza sfârșitul unei linii de text, pe când sistemele tip UNIX (incluzând aici și Linux și Mac OS X) folosesc numai caracterul LF, iar sistemele Mac OS pre-Unix (versiunile 9 sau mai vechi), folosesc doar caracterul CR. Astăzi, majoritatea sistemelor și editoarelor de text sunt perfect capabile să se folosească și să convertească automat fișierele text între diverse arhitecturi. O excepție notabilă în acest sens este, însă, editorul Notepad, care, în cazul în care este pus să deschidă un fișier text generat pe o altă platformă, va afișa caracterul de control LF sau CR după fiecare rând, neîmpărțind textul în rânduri.
Codificarea fișierelor text se face în general ori în ASCII (American Standard Code for Information Interchange), ori în Unicode (standardul UTF-8, compatibil invers cu ASCII) permițând o portabilitate ridicată între diverse tipuri de sisteme.
Header
[modificare | modificare sursă]Header-ul pentru fisiere codificate Unicode este: 0xFF 0xFE ( scriere hexadecimală ) sau 'FF FE'x, si implica toate caracterele din 8biti trec in octeti-dubli pe 16biti prin adaugarea unui octet, reprezentand cifra 0x00, dupa fiecare caracter.
Formatul TXT nu are stocată valoarea header decat cand este codat Unicode sau ISO. Un 'header' ce identifică formatul TXT este:
Offset # | dimensiune ( byte ) | valoare ( hexa ) | descriere |
---|---|---|---|
0 | 2 | FF FE | primii doi bytes identifica standardul Unicode. Pot sa lipseasca. |
2 | 1 | 00 - FF | caractere din schema ASCII |
3bis | (1) | (00x) - (00x) | caractere din schema Unicode din afara schemei ASCII. (optional ptr codificare Unicode) |
3 ... | 1 (-2) | 00x - FFx | caracter din schema 'ASCII' pe un singur octet, ( doi octeti in codare Unicode ). Pana la sfarsit. |
... EOF -1 | 1 (-2) | 00x | caracter din schema ASCII. |
EOF | 0 | E0F | ultimul byte in cazul Unicode. |
Fișierul text nu are codificate informații. Pe sistemele de operare fișierele text vor fi recunoscute prin identificatorul MIME text/plain.[necesită citare] Ele vor avea în mod implicit extensia .TXT pe sisteme Windows, iar o mare parte a fișierelor text pot avea și extensii aleatoare, precum: .me, .nfo, .reg, .cs, .html, .png)[necesită citare]
Utilizare
[modificare | modificare sursă]Pentru utilizator, un astfel de fișier, vizualizat ca atare, apare ca text neformatat și nearanjat în pagină. Fișierele text, per se, nu pot stoca decât caractere printabile (litere și cifre) și un număr foarte limitat de caractere de control. Astfel, în structura însăși a fișierului nu se pot stoca elemente de formatare precum culori sau imagini. Fișierele text pot astfel fi folosite pentru activități simple, precum luatul de notițe. Cu toate acestea, un fișier text poate stoca date de intrare pentru un program terț. Astfel de utilizări, datorită portabilității uriașe a formatului (neținând seama de problema sfârșitului de linie) și datorită faptului că conținutul fișierului este ușor lizibil și editabil ca text a dus la apariția multor standarde care codifică informații de diverse feluri ca text lizibil stocat în fișiere text, și care procesate cu ajutorul unor alte programe iau altă formă. Exemple în acest sens sunt standardul XML (și aplicațiile sale - HTML - care stochează pagini formatat într-un fișier text prin intermediul unor descriptori textuali sau SVG - care stochează imagini ca text lizibil în fișiere text)[necesită citare]. Mai mult, codul sursă al oricărui program, în orice limbaj de programare, este salvat pe disc sub formă de fișier text.
Fișiere text și fișiere binare
[modificare | modificare sursă]Tradițional, fișierele text stochează datele în format ASCII, pe 7 biți. Multe protocoale asociate rețelelor informatice permit transmiterea corectă a informațiilor în acest format, dar nu permit transmisia corectă de fișiere binare (în care codificarea are loc pe 8 biți), ducând, în cazul transmisiei la coruperea fișierului rezultat (din cauza conversiei ce are loc între cele două sisteme la apariția caracterelor de sfârșit de rând). Astfel, există diverși algoritmi și soluții software pentru codificarea fișierelor binar în format compatibil ASCII pentru transmitere (cel mai comun este Base64). Cu toate acestea, sistemele informatice stochează toate datele într-un mod identic - ca șiruri de biți. Mai mult, unele sisteme de operare nu oferă rutine și proceduri specifice fișierelor text, tratând toate fișierele ca șiruri binare.