Vai al contenuto principale

Formati di file

Cos'è un file TXT? Testo semplice, codifiche e UTF-8

Il TXT è il formato di documento più semplice che esista: solo caratteri e a capo. Eppure codifiche, BOM e terminatori di riga lo rendono uno dei più problematici. Li spieghiamo uno per uno.

Autore: Hemen Dönüştür Editör EkibiPubblicato: 8 min di lettura

Etichetta di file con la scritta TXT

Il TXT è il formato di documento più essenziale che un computer conosca: niente grassetto, niente caratteri tipografici, niente impaginazione, solo caratteri e a capo. Questa semplicità lo rende estremamente portabile. Un file di testo scritto cinquant'anni fa si apre ancora oggi, e quello che scrivi oggi con ogni probabilità si aprirà tra decenni. Ma il "testo semplice" non è così semplice come sembra. Lettere accentate che diventano "é" o "?", righe che si fondono in una sola, un carattere invisibile all'inizio del file: tutti questi problemi nascono da un dettaglio nascosto dentro il file TXT, la sua codifica dei caratteri. In questo articolo vediamo come funzionano i file TXT e come risolvere questi problemi.

Cos'è un file TXT?

Un file con estensione .txt contiene soltanto caratteri di testo. Non ci sono intestazioni, metadati o formattazione: ogni byte appartiene al testo. La domanda cruciale è: quale byte corrisponde a quale carattere? Questa corrispondenza si chiama codifica dei caratteri, e di solito un file TXT non dichiara quale usa. Il programma che lo apre deve indovinarla.

Breve storia: da ASCII a UTF-8

L'ASCII fu pubblicato per la prima volta nel 1963 come ASA X3.4-1963. Usa 7 bit e definisce 128 caratteri: l'alfabeto inglese, le cifre, la punteggiatura e caratteri di controllo come l'a capo. Lettere come à, é, ñ, ö o la ı e la ş del turco non fanno parte dell'ASCII.

Per colmare la lacuna nacquero le code page, che assegnavano a lingue diverse i restanti 128 valori di un byte a 8 bit: Windows-1252 e ISO-8859-1 per le lingue dell'Europa occidentale, Windows-1254 e ISO-8859-9 per il turco, e molte altre. Il problema è che lo stesso byte indica lettere diverse in code page diverse. Il byte FD, per esempio, è "ý" in Windows-1252 ma "ı" in Windows-1254. Un programma che sbaglia code page visualizza il testo in modo errato.

La soluzione duratura è stata Unicode, che assegna un numero unico a ogni carattere di ogni sistema di scrittura. UTF-8 è il modo più diffuso per trasformare quei numeri in byte. Secondo il racconto di Rob Pike, Ken Thompson progettò UTF-8 su una tovaglietta di carta in una tavola calda del New Jersey, una sera intorno al settembre 1992. La sua definizione attuale è la RFC 3629 del novembre 2003: UTF-8 codifica ogni carattere da U+0000 a U+10FFFF in 1-4 byte e scrive i caratteri ASCII con gli stessi singoli byte dell'ASCII.

Il web mostra quanto UTF-8 sia diventato dominante: secondo i dati W3Techs del 15 ottobre 2026, il 99,1% dei siti web di cui è nota la codifica dei caratteri usa UTF-8, seguito da ISO-8859-1 con lo 0,8% e da Windows-1252 con lo 0,2%.

Cosa c'è dentro un file TXT?

Caratteri e byte

Salva la parola "café" in UTF-8 e in Windows-1252 e otterrai byte diversi:

Testo:          c   a   f   é
UTF-8:          63  61  66  C3 A9   (5 byte)
Windows-1252:   63  61  66  E9      (4 byte)

Un programma che legge il file UTF-8 come Windows-1252 mostra C3 e A9 come due caratteri separati, "é". Al contrario, un programma che legge il file Windows-1252 come UTF-8 considera E9 non valido e al suo posto mostra "�". Quasi tutti i problemi di caratteri rovinati rientrano in uno di questi due scenari.

Il BOM (byte order mark)

Alcuni programmi inseriscono i byte EF BB BF all'inizio di un file UTF-8. È la forma UTF-8 del carattere U+FEFF, usata come firma che significa "questo file è in UTF-8". La RFC 3629 osserva che questa firma compare sempre con quei tre byte. Secondo le FAQ di Unicode, in UTF-8 il BOM non è obbligatorio e serve solo come firma, e va evitato nei protocolli che si aspettano caratteri ASCII all'inizio del file. In pratica il BOM aiuta alcuni vecchi programmi Windows ed Excel a riconoscere UTF-8, ma può mandare in errore gli script della shell Unix e i file di configurazione letti da certi software.

In UTF-16 il BOM conta ancora di più, perché indica a chi legge l'ordine dei byte: FF FE significa UTF-16 little-endian e FE FF UTF-16 big-endian.

Terminatori di riga

Anche il carattere che segna la fine di una riga dipende dal sistema operativo:

SistemaFine rigaByte
WindowsCRLF0D 0A
Linux, macOSLF0A
Mac OS classico (prima di OS X)CR0D

Per molti anni il Blocco note di Windows ha riconosciuto solo CRLF, per cui un file scritto su Linux appariva come un'unica lunga riga. Microsoft ha annunciato il supporto di LF e CR nel Blocco note l'8 maggio 2018, e la modifica è arrivata agli utenti con Windows 10 versione 1809.

Dove si usa il TXT?

  • Appunti e bozze: note veloci che non richiedono formattazione.
  • Software: file README, testi di licenza, codice sorgente, file di configurazione e log.
  • Scambio di dati: elenchi semplici ed esportazioni passate da un sistema all'altro.
  • Conservazione a lungo termine: testi da archiviare senza dipendere da alcuna applicazione.
  • Accessibilità ed elaborazione: l'input più pulito per screen reader, motori di ricerca e strumenti di analisi del testo.

Punti di forza e punti deboli

Punti di forza: si apre su qualsiasi dispositivo e sistema operativo. I file sono minuscoli. Non dipende dalle versioni dei programmi e il rischio di danneggiamento è minimo. I sistemi di controllo versione come Git possono mostrare le modifiche riga per riga. Non può contenere macro né oggetti incorporati, quindi è sicuro.

Punti deboli: non può contenere formattazione, immagini, tabelle o collegamenti. Poiché la codifica non è registrata nel file, può essere indovinata male. Le differenze nei terminatori di riga causano piccoli ma fastidiosi problemi tra un sistema e l'altro. Se ti serve una struttura con titoli ed elenchi, il Markdown è una scelta migliore.

Quali programmi aprono i TXT?

Il Blocco note su Windows, TextEdit su macOS e gedit ed editor simili su Linux aprono tutti i TXT, e i browser possono visualizzare direttamente i file di testo. Editor avanzati come Visual Studio Code, Notepad++ e Sublime Text mostrano codifica e tipo di fine riga nella barra di stato e permettono di cambiarli con un clic, il che li rende gli strumenti più pratici per diagnosticare i problemi di codifica.

Problemi comuni e come risolverli

Le lettere accentate appaiono come "é" o "è"

Il file è stato salvato in UTF-8, ma il programma che lo legge presume Windows-1252. Riaprilo come UTF-8 in un editor che permette di scegliere la codifica. Se un file CSV o di testo appare così in Excel, salvarlo come UTF-8 con BOM di solito risolve il problema.

Al posto dei caratteri compaiono "?" o "�"

Il file è stato salvato in una vecchia code page ma viene letto come UTF-8. Aprilo nell'editor selezionando la code page corretta, poi salvalo in UTF-8. Se il testo è stato salvato con dei "?" veri e propri, i caratteri originali sono persi e devi tornare alla fonte.

Tutto il testo compare su una sola riga

Un editor datato non riconosce i terminatori di riga LF. Usa un Blocco note aggiornato o un editor avanzato, oppure converti i terminatori di riga in CRLF.

C'è un carattere invisibile all'inizio del file

Di solito è il BOM. Se uno script o un file di configurazione dà errore sulla prima riga, salvalo come "UTF-8 senza BOM".

Consigli per convertire i file TXT

Sul nostro convertitore i file TXT vengono caricati sul nostro server ed eliminati entro 30 minuti. La codifica viene rilevata automaticamente: prima si controlla il BOM (UTF-8, UTF-16 little-endian e big-endian); in assenza di BOM si verifica se il file è UTF-8 valido; se non lo è, viene letto come Windows-1254, la vecchia code page Windows per il turco, che per le lettere accentate italiane (à, è, é, ì, ò, ù) coincide con Windows-1252. I file che contengono molti byte NUL vengono trattati come binari anziché come testo e ricevi il messaggio "questo non è un file di testo".

  • Con le conversioni da TXT a Word e da TXT a PDF, ogni riga diventa un paragrafo e le righe vuote vengono mantenute. Il rientro iniziale (codice, poesie o clausole numerate) viene trasformato in spazi indivisibili perché non vada perso, e le tabulazioni iniziali diventano quattro spazi.
  • La conversione da TXT a Markdown è un buon punto di partenza se in seguito vuoi arricchire il testo semplice con titoli ed elenchi.
  • Nella direzione opposta, le conversioni da PDF a TXT e da Word a TXT eliminano la formattazione e separano titoli e paragrafi con righe vuote. I file TXT che produciamo sono salvati in UTF-8 con BOM, così le lettere accentate vengono visualizzate correttamente in programmi come il Blocco note ed Excel.

Domande frequenti

In quale codifica conviene salvare un file TXT?

In UTF-8 per i file nuovi. Supporta tutte le lingue ed è diventato quasi universale sul web. Ometti il BOM se il file sarà letto da software che si aspettano UTF-8 senza BOM; aggiungilo se il file verrà aperto in programmi come Excel.

Che differenza c'è tra UTF-8 e UTF-8 con BOM?

Il contenuto è identico; la versione con BOM inizia semplicemente con i byte EF BB BF. Questa firma aiuta alcuni programmi a riconoscere la codifica, ma in altri può comparire come un primo carattere invisibile.

Che differenza c'è tra TXT e RTF?

Il TXT contiene solo caratteri. L'RTF trasporta formattazioni come grassetto, corsivo, caratteri e tabelle tramite comandi di controllo inseriti nel testo. Se non ti serve la formattazione, il TXT è più semplice e più portabile.

Come scopro la codifica di un file TXT?

Editor come Visual Studio Code e Notepad++ mostrano la codifica nella barra di stato. Anche le versioni attuali del Blocco note mostrano nella barra di stato la codifica e il tipo di fine riga.

Un file TXT può contenere un virus?

Un file di testo semplice non contiene di per sé codice eseguibile. Fai attenzione alle doppie estensioni come "documento.txt.exe": rendere visibili le estensioni dei file in Windows ti aiuta a riconoscere il trucco.

Fonti

Convertitori correlati

Tutti gli articoli