Aller au contenu principal

Formats de fichiers

Qu'est-ce qu'un fichier TXT ? Texte brut, encodages, UTF-8

Le TXT est le format de document le plus simple qui soit : des caractères et des sauts de ligne, rien de plus. Pourtant, les encodages, le BOM et les fins de ligne en font l'un des plus capricieux. Nous expliquons chacun de ces points.

Auteur: Hemen Dönüştür Editör EkibiPublié le: 9 min de lecture

Badge de fichier marqué TXT

Le TXT est le format de document le plus dépouillé qu'un ordinateur connaisse : pas de gras, pas de polices, pas de mise en page, seulement des caractères et des sauts de ligne. Cette simplicité le rend extrêmement portable. Un fichier texte écrit il y a cinquante ans s'ouvre encore aujourd'hui, et ce que vous écrivez aujourd'hui s'ouvrira très probablement dans plusieurs décennies. Mais le « texte brut » n'est pas aussi simple qu'il en a l'air. Des lettres accentuées qui se transforment en « é » ou en « ? », des lignes qui se fondent en une seule, un caractère invisible au début du fichier : tout cela vient d'un détail caché dans un fichier TXT, son encodage des caractères. Cet article explique comment fonctionnent les fichiers TXT et comment résoudre ces problèmes.

Qu'est-ce qu'un fichier TXT ?

Un fichier portant l'extension .txt ne contient que des caractères de texte. Il n'y a ni en-tête, ni métadonnées, ni mise en forme ; chaque octet appartient au texte lui-même. La question essentielle est la suivante : quel octet représente quel caractère ? Cette correspondance s'appelle l'encodage des caractères, et un fichier TXT n'indique généralement pas lequel il utilise. Le programme qui l'ouvre doit le deviner.

Un peu d'histoire : de l'ASCII à l'UTF-8

L'ASCII a été publié pour la première fois en 1963 sous la référence ASA X3.4-1963. Il utilise 7 bits et définit 128 caractères : l'alphabet anglais, les chiffres, la ponctuation et des caractères de contrôle comme le saut de ligne. Des lettres comme é, ñ, ö ou les lettres turques ı et ş n'en font pas partie.

Pour combler ce manque sont apparues les pages de codes, qui attribuent à différentes langues les 128 valeurs restantes d'un octet de 8 bits : Windows-1252 et ISO-8859-1 pour les langues d'Europe occidentale, Windows-1254 et ISO-8859-9 pour le turc, et bien d'autres. Le problème, c'est qu'un même octet désigne des lettres différentes selon la page de codes. L'octet FD, par exemple, correspond à « ý » en Windows-1252 mais à « ı » en Windows-1254. Un programme qui se trompe de page de codes affiche le texte de travers.

La solution durable a été Unicode, qui attribue un numéro unique à chaque caractère de chaque système d'écriture. L'UTF-8 est la façon la plus répandue de transformer ces numéros en octets. Selon le récit de Rob Pike, Ken Thompson a conçu l'UTF-8 sur un set de table, un soir de septembre 1992 environ, dans un diner du New Jersey. Sa définition actuelle est la RFC 3629 de novembre 2003 : l'UTF-8 encode chaque caractère de U+0000 à U+10FFFF sur 1 à 4 octets, et écrit les caractères ASCII avec les mêmes octets uniques que l'ASCII.

Le web montre à quel point l'UTF-8 domine : selon les données de W3Techs du 15 octobre 2026, 99,1 % des sites web dont l'encodage est connu utilisent l'UTF-8, devant l'ISO-8859-1 (0,8 %) et le Windows-1252 (0,2 %).

Que contient un fichier TXT ?

Caractères et octets

Enregistrez le mot « café » en UTF-8 puis en Windows-1252 : vous obtenez des octets différents.

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

Un programme qui lit le fichier UTF-8 comme du Windows-1252 affiche C3 et A9 comme deux caractères distincts : « é ». À l'inverse, un programme qui lit le fichier Windows-1252 comme de l'UTF-8 considère E9 comme invalide et affiche « � » à la place. Presque tous les problèmes de caractères illisibles relèvent de l'un de ces deux scénarios.

Le BOM (indicateur d'ordre des octets)

Certains programmes placent les octets EF BB BF au début d'un fichier UTF-8. Il s'agit de la forme UTF-8 du caractère U+FEFF, utilisée comme signature signifiant « ce fichier est en UTF-8 ». La RFC 3629 précise que cette signature apparaît toujours sous la forme de ces trois octets. Selon la FAQ d'Unicode, le BOM n'est pas obligatoire en UTF-8 et ne sert que de signature ; il est à éviter dans les protocoles qui attendent des caractères ASCII en début de fichier. En pratique, le BOM aide certains anciens programmes Windows et Excel à reconnaître l'UTF-8, mais il peut casser des scripts shell Unix et des fichiers de configuration lus par certains logiciels.

En UTF-16, le BOM compte encore plus, car il indique au lecteur l'ordre des octets : FF FE signifie UTF-16 petit-boutiste (little-endian) et FE FF UTF-16 gros-boutiste (big-endian).

Fins de ligne

Le caractère qui marque la fin d'une ligne dépend lui aussi du système d'exploitation :

SystèmeFin de ligneOctets
WindowsCRLF0D 0A
Linux, macOSLF0A
Mac OS classique (avant OS X)CR0D

Pendant de nombreuses années, le Bloc-notes de Windows ne comprenait que le CRLF : un fichier écrit sous Linux s'affichait donc sur une seule longue ligne. Microsoft a annoncé la prise en charge des fins de ligne LF et CR dans le Bloc-notes le 8 mai 2018, et le changement est arrivé chez les utilisateurs avec Windows 10 version 1809.

Où utilise-t-on le TXT ?

  • Notes et brouillons : des notes rapides qui n'ont besoin d'aucune mise en forme.
  • Logiciels : fichiers README, textes de licence, code source, fichiers de configuration et journaux.
  • Échange de données : listes simples et exports transmis d'un système à l'autre.
  • Conservation à long terme : textes à archiver sans dépendre d'aucune application.
  • Accessibilité et traitement : l'entrée la plus propre pour les lecteurs d'écran, les moteurs de recherche et les outils d'analyse de texte.

Points forts et points faibles

Points forts : tous les appareils et systèmes d'exploitation l'ouvrent. Les fichiers sont minuscules. Il n'y a aucune dépendance aux versions des programmes et très peu de risque de corruption. Les systèmes de gestion de versions comme Git peuvent afficher les modifications ligne par ligne. Il ne peut contenir ni macros ni objets incorporés, ce qui le rend sûr.

Points faibles : il ne peut contenir ni mise en forme, ni images, ni tableaux, ni liens. Comme l'encodage n'est pas inscrit dans le fichier, il peut être mal deviné. Les différences de fins de ligne provoquent de petits soucis agaçants d'un système à l'autre. Si vous avez besoin d'une structure avec des titres et des listes, le Markdown est un meilleur choix.

Quels programmes ouvrent le TXT ?

Le Bloc-notes sous Windows, TextEdit sous macOS, gedit et les éditeurs similaires sous Linux ouvrent tous le TXT, et les navigateurs peuvent afficher directement les fichiers texte. Les éditeurs avancés comme Visual Studio Code, Notepad++ et Sublime Text affichent l'encodage et le type de fin de ligne dans la barre d'état et permettent de les changer en un clic, ce qui en fait les outils les plus pratiques pour diagnostiquer les problèmes d'encodage.

Problèmes courants et solutions

Les caractères accentués s'affichent « é » ou « ü »

Le fichier a été enregistré en UTF-8, mais le programme qui le lit suppose du Windows-1252. Rouvrez-le en UTF-8 dans un éditeur qui permet de choisir l'encodage. Si un fichier CSV ou texte s'affiche ainsi dans Excel, l'enregistrer en UTF-8 avec BOM règle généralement le problème.

Les caractères sont remplacés par « ? » ou « � »

Le fichier a été enregistré dans une ancienne page de codes, mais il est lu comme de l'UTF-8. Ouvrez-le dans votre éditeur en sélectionnant la bonne page de codes, puis enregistrez-le en UTF-8. Si le texte a été enregistré avec de vrais caractères « ? », les originaux sont perdus et il faut revenir à la source.

Tout le texte apparaît sur une seule ligne

Un ancien éditeur ne comprend pas les fins de ligne LF. Utilisez un Bloc-notes à jour ou un éditeur avancé, ou convertissez les fins de ligne en CRLF.

Un caractère invisible se trouve au début du fichier

C'est généralement le BOM. Si un script ou un fichier de configuration échoue dès la première ligne, enregistrez-le en « UTF-8 sans BOM ».

Conseils pour convertir des fichiers TXT

Sur notre convertisseur, les fichiers TXT sont envoyés sur notre serveur et supprimés dans les 30 minutes. L'encodage est détecté automatiquement : le BOM est d'abord vérifié (UTF-8, UTF-16 petit-boutiste et gros-boutiste) ; sans BOM, on vérifie si le fichier est de l'UTF-8 valide ; si ce n'est pas le cas, il est lu en Windows-1254, l'ancienne page de codes Windows du turc. Les fichiers contenant de nombreux octets NUL sont traités comme des fichiers binaires et non comme du texte, et vous obtenez un message « ce n'est pas un fichier texte ».

  • Avec TXT en Word et TXT en PDF, chaque ligne devient un paragraphe et les lignes vides sont conservées. Les retraits en début de ligne (code, poésie ou clauses numérotées) sont transformés en espaces insécables pour ne pas être perdus, et les tabulations en début de ligne deviennent quatre espaces.
  • TXT en Markdown est un bon point de départ si vous voulez enrichir plus tard un texte brut avec des titres et des listes.
  • Dans l'autre sens, PDF en TXT et Word en TXT suppriment la mise en forme et séparent titres et paragraphes par des lignes vides. Les fichiers TXT que nous produisons sont enregistrés en UTF-8 avec BOM, afin que les caractères accentués s'affichent correctement dans des programmes comme le Bloc-notes et Excel.

Questions fréquentes

Dans quel encodage enregistrer un fichier TXT ?

En UTF-8 pour les nouveaux fichiers. Il prend en charge toutes les langues et il est devenu quasi universel sur le web. Omettez le BOM si le fichier sera lu par un logiciel qui attend de l'UTF-8 sans BOM ; ajoutez-le si le fichier sera ouvert dans des programmes comme Excel.

Quelle différence entre UTF-8 et UTF-8 avec BOM ?

Le contenu est identique ; la version avec BOM commence simplement par les octets EF BB BF. Cette signature aide certains programmes à détecter l'encodage, mais elle peut apparaître comme un premier caractère invisible dans d'autres.

Quelle différence entre TXT et RTF ?

Le TXT ne contient que des caractères. Le RTF transporte une mise en forme (gras, italique, polices, tableaux) au moyen de commandes de contrôle insérées dans le texte. Si vous n'avez pas besoin de mise en forme, le TXT est plus simple et plus portable.

Comment connaître l'encodage d'un fichier TXT ?

Des éditeurs comme Visual Studio Code et Notepad++ affichent l'encodage dans la barre d'état. Les versions actuelles du Bloc-notes affichent aussi l'encodage et le type de fin de ligne dans la barre d'état.

Un fichier TXT peut-il contenir un virus ?

Un fichier texte brut ne contient pas de code exécutable en lui-même. Méfiez-vous en revanche des doubles extensions comme « document.txt.exe » ; afficher les extensions de fichiers dans Windows aide à repérer cette ruse.

Sources

Convertisseurs associés

Tous les articles