File di testo

Da Wikipedia, l'enciclopedia libera.
Un file di testo aperto con gedit

Un file di testo è un file per computer che contiene solo caratteri di scrittura semplici, che compongono un testo leggibile direttamente dagli utenti senza bisogno di installare programmi appositi.

Il termine si usa in contrapposizione a file binario, che è invece un file contenente dati generici non direttamente leggibili dall'utente. In realtà, dal punto di vista delle macchine, non c'è distinzione tra i due tipi, poiché tutti i file non sono altro che sequenze di byte. La differenza sta solo in ciò che i byte rappresentano e come viene utilizzato.

I byte dei file di testo rappresentano quindi lettere, numeri, punteggiatura, spazi e altri normali simboli stampabili, ma possono contenere anche alcuni caratteri di controllo come tabulatore, inizio riga e ritorno a capo.

Codifica[modifica | modifica sorgente]

Per codifica nei file di testo si intende la corrispondenza tra il valore dei byte, che è sempre un numero intero da 0 a 255, e il carattere rappresentato. La corrispondenza non è sempre 1 a 1: in molte codifiche moderne un solo carattere è rappresentato da molti byte, in modo da superare il limite di 256 possibili caratteri e supportare anche lingue ricche di simboli come quelle orientali. Esempi di codifiche 1 a 1 sono la comunissima ASCII, quelle dello standard ISO 8859 e la EBCDIC. Esempi di codifiche multibyte sono i vari tipi di Unicode e l'EUC.

Utilizzo[modifica | modifica sorgente]

Ovviamente lo scopo per cui sono nati i file di testo, e tuttora un utilizzo molto frequente, è la lettura/scrittura diretta da parte degli utenti. La mancanza di formattazione li rende poveri dal punto di vista estetico, ma in compenso grazie a questa semplicità non occorrono particolari programmi per leggerli, e spesso possono essere trasferiti direttamente da un sistema operativo all'altro (a condizione di avere lo stesso charset a disposizione).

Per questo quasi tutti i software sono accompagnati da un file di testo semplice che ne dà una breve descrizione, spesso chiamato leggimi (o readme in inglese). Anche il codice sorgente dei programmi di solito è scritto in puro testo. Se un sorgente fosse scritto ad esempio in formato .doc (con Microsoft Word o OpenOffice.org), il file prodotto conterrebbe anche informazioni binarie di formato che metterebbero in crisi i compilatori.

Ci sono alcune limitazioni all'universalità dei file di testo:

  • la codifica non è sempre ovvia, e quando il sistema non la riconosce o non la supporta, il file può diventare illeggibile;
  • i maggiori sistemi usano notazioni diverse per il carattere di a capo: Mac OS usa CR, UNIX usa LF, Windows usa CR/LF.

L'estensione dei file di testo destinati alla lettura, quando utilizzata, è generalmente .txt. Nel caso di file sorgente l'estensione dipende dal linguaggio di programmazione utilizzato, ad esempio .c per il C e .htm/.html per l'HTML.

Utilizzo da parte del software[modifica | modifica sorgente]

I file di testo non sono necessariamente legati all'elaborazione umana. Molto spesso sono utilizzati puramente dal software, sia in lettura che in scrittura, per l'immagazzinamento dei dati. Sono meno compatti dei file binari, il che può significare uno spreco di spazio su disco: ad esempio un numero a 32 bit, che può valere miliardi, occupa sempre 4 byte in binario, ma in formato testo ne occupa fino a 11 (come nel caso di -1222333444) più eventuali caratteri di delimitazione. Tuttavia, se l'occupazione del disco non è critica, il formato testo presenta dei vantaggi:

  • I dati possono essere utilizzati facilmente da altri programmi e sistemi, con una conoscenza minima della loro struttura: si è meno vincolati alla dimensione dei campi e all'ordine dei byte. Ad esempio, sebbene ogni foglio elettronico abbia un suo formato di memorizzazione binaria, tutti possono lavorare con file di testo dove la matrice di dati è semplicemente un elenco di valori separati da caratteri standard (CSV, TSV...)
  • L'eventuale corruzione dei dati causa in genere meno danni e solo localmente. Perdere un byte in un file di testo di solito vuol dire perdere un dato; perderlo in un file binario può voler dire sfasare e rovinare l'intero file
  • All'occorrenza o in caso di errori (debugging) può essere facilmente controllato da un utente. Ad esempio esaminare e modificare un file INI è molto intuitivo

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica