Texte brut - Plain text

Fichier texte de The Human Side of Animals de Royal Dixon , affiché par la commande catdans une fenêtre xterm

En informatique , le texte brut est un terme vague pour des données (par exemple, le contenu d'un fichier) qui ne représentent que des caractères lisibles mais pas sa représentation graphique ni d'autres objets ( nombres à virgule flottante , images, etc.). Il peut également inclure un nombre limité de caractères « espaces » qui affectent la disposition simple du texte, tels que des espaces, des sauts de ligne ou des caractères de tabulation (bien que les caractères de tabulation puissent « signifier » beaucoup de choses différentes, ils ne sont donc guère « simples »). Le texte brut est différent du texte formaté , où les informations de style sont incluses ; à partir de texte structuré, où les parties structurelles du document telles que les paragraphes, les sections et autres sont identifiées ; et à partir de fichiers binaires dont certaines portions doivent être interprétées comme des objets binaires (entiers codés, nombres réels, images, etc.).

Le terme est parfois utilisé de manière assez vague, pour désigner des fichiers qui ne contiennent que du contenu « lisible » (ou simplement des fichiers sans rien que le locuteur ne préfère). Par exemple, cela pourrait exclure toute indication de polices ou de mise en page (telle que le balisage, la démarque ou même les onglets) ; des caractères tels que des guillemets bouclés, des espaces insécables, des traits d'union, des tirets cadratin et/ou des ligatures ; ou d'autres choses.

En principe, le texte brut peut être dans n'importe quel codage , mais parfois le terme est pris pour impliquer ASCII . À mesure que les codages basés sur Unicode tels que UTF-8 et UTF-16 deviennent plus courants, cette utilisation peut diminuer.

Le texte brut est aussi parfois utilisé uniquement pour exclure les fichiers "binaires": ceux dans lesquels au moins certaines parties du fichier ne peuvent pas être correctement interprétées via l'encodage de caractères en vigueur. Par exemple, un fichier ou une chaîne composé de « bonjour » (quel que soit l'encodage), suivi de 4 octets qui expriment un entier binaire qui n'est pas simplement un ou plusieurs caractères, est un fichier binaire, pas du texte brut, même le plus lâche. coutumes. Autrement dit, la traduction d' un fichier texte à un codage de caractères qui utilise des nombres entièrement différents pour représenter les caractères ne change pas le sens (tant que vous savez ce que le codage est utilisé), mais pour les fichiers binaires d' une telle conversion ne change le sens d'au moins certaines parties du fichier.

Texte brut et texte riche

Selon la norme Unicode :

  • " Le texte brut est une séquence pure de codes de caractères ; le texte brut non codé est donc une séquence de codes de caractères Unicode.
  • En revanche, le texte stylisé , également appelé texte enrichi , est toute représentation textuelle contenant du texte brut ainsi que des informations supplémentaires telles qu'un identificateur de langue, une taille de police, une couleur, des liens hypertexte, etc.

SGML, RTF, HTML, XML et TEX sont des exemples de texte riche entièrement représentés sous forme de flux de texte brut, entremêlant des données de texte brut avec des séquences de caractères qui représentent les structures de données supplémentaires."

Selon d'autres définitions, cependant, les fichiers qui contiennent un balisage ou d'autres métadonnées sont généralement considérés comme du texte brut, tant que le balisage est également sous une forme directement lisible par l'homme (comme en HTML , XML , etc.). Ainsi, les représentations telles que SGML , RTF , HTML , XML , le balisage wiki et TeX , ainsi que presque tous les fichiers de code source de langage de programmation, sont considérés comme du texte brut. Le contenu particulier n'est pas pertinent pour savoir si un fichier est en texte brut. Par exemple, un fichier SVG peut exprimer des dessins ou même des graphiques bitmap, mais il s'agit toujours de texte brut.

L'utilisation de texte brut plutôt que de fichiers binaires permet aux fichiers de mieux survivre "à l'état sauvage", en partie en les rendant largement immunisés contre les incompatibilités d'architecture informatique. Par exemple, tous les problèmes d' Endianité peuvent être évités (avec des codages tels que UCS-2 plutôt qu'UTF-8, l'Endianité compte, mais uniformément pour chaque caractère, plutôt que pour des sous-ensembles potentiellement inconnus).

Usage

Le but de l'utilisation du texte brut aujourd'hui est principalement l'indépendance vis-à-vis des programmes qui nécessitent leur propre encodage ou formatage ou format de fichier . Les fichiers en texte brut peuvent être ouverts, lus et modifiés avec des éditeurs de texte et des utilitaires omniprésents .

Une interface de ligne de commande permet aux utilisateurs de donner des commandes en texte brut et d'obtenir une réponse, également généralement en texte brut.

De nombreux autres programmes informatiques sont également capables de traiter ou de créer du texte brut, tels que d'innombrables programmes sous DOS , Windows , Mac OS classique et Unix et ses semblables ; ainsi que des navigateurs Web (quelques navigateurs tels que Lynx et le navigateur en mode ligne ne produisent que du texte brut pour l'affichage) et d'autres lecteurs de texte électronique.

Les fichiers en texte brut sont presque universels en programmation ; un fichier de code source contenant des instructions dans un langage de programmation est presque toujours un fichier texte brut. Le texte brut est également couramment utilisé pour les fichiers de configuration , qui sont lus pour les paramètres enregistrés au démarrage d'un programme.

Le texte brut est utilisé pour la plupart des e-mails .

Un commentaire , un fichier " .txt " ou un enregistrement TXT ne contient généralement que du texte brut (sans formatage) destiné à être lu par des humains.

Le meilleur format pour stocker les connaissances de manière persistante est le texte brut, plutôt qu'un format binaire .

Codage

Encodages de caractères

Avant le début des années 1960, les ordinateurs étaient principalement utilisés pour le calcul des nombres plutôt que pour le texte, et la mémoire était extrêmement coûteuse. Les ordinateurs n'allouaient souvent que 6 bits pour chaque caractère, n'autorisant que 64 caractères - l'attribution de codes pour AZ, az et 0-9 ne laisserait que 2 codes : loin d'être suffisant. La plupart des ordinateurs ont choisi de ne pas prendre en charge les lettres minuscules. Ainsi, les projets de texte tels que début Roberto Busa de l' indice Thomisticus , le Brown Corpus , et d' autres ont dû recourir à des conventions telles que la saisie d' un astérisque précédant les lettres effectivement destinées à être en majuscules.

Fred Brooks d' IBM a fortement plaidé pour le passage aux octets 8 bits, car un jour les gens pourraient vouloir traiter du texte ; et a gagné. Bien qu'IBM ait utilisé EBCDIC , la plupart des textes sont désormais codés en ASCII , en utilisant des valeurs de 0 à 31 pour les caractères de contrôle (non imprimables) et des valeurs de 32 à 127 pour les caractères graphiques tels que les lettres, les chiffres et la ponctuation. La plupart des machines stockaient des caractères sur 8 bits au lieu de 7, en ignorant le bit restant ou en l'utilisant comme somme de contrôle .

La quasi-ubiquité de l'ASCII a été d'une grande aide, mais n'a pas répondu aux préoccupations internationales et linguistiques. Le signe dollar ("$") n'était pas aussi utile en Angleterre, et les caractères accentués utilisés en espagnol, français, allemand, portugais et de nombreuses autres langues étaient totalement indisponibles en ASCII (sans parler des caractères utilisés en grec, russe, et la plupart des langues orientales). De nombreuses personnes, entreprises et pays ont défini des caractères supplémentaires selon les besoins, en réattribuant souvent des caractères de contrôle ou en utilisant des valeurs comprises entre 128 et 255. L'utilisation de valeurs supérieures à 128 entre en conflit avec l'utilisation du 8e bit comme somme de contrôle, mais l'utilisation de la somme de contrôle s'est progressivement éteinte. .

Ces caractères supplémentaires étaient codés différemment selon les pays, rendant les textes impossibles à décoder sans connaître les règles de l'auteur. Par exemple, un navigateur peut afficher ¬A plutôt que ` s'il essaie d'interpréter un jeu de caractères comme un autre. L'Organisation internationale de normalisation ( ISO ) a finalement développé plusieurs pages de codes sous ISO 8859 , pour s'adapter à différentes langues. Le premier d'entre eux ( ISO 8859-1 ) est également connu sous le nom de "Latin-1", et couvre les besoins de la plupart (pas de toutes) les langues européennes qui utilisent des caractères latins (il n'y avait pas assez de place pour les couvrir toutes) . ISO 2022 a ensuite fourni des conventions pour "basculer" entre différents jeux de caractères au milieu d'un fichier. De nombreuses autres organisations ont développé des variantes de celles-ci et pendant de nombreuses années, les ordinateurs Windows et Macintosh ont utilisé des variantes incompatibles.

La situation du codage de texte est devenue de plus en plus complexe, ce qui a conduit à des efforts de l'ISO et du Consortium Unicode pour développer un seul codage de caractères unifié qui pourrait couvrir toutes les langues connues (ou du moins toutes les langues actuellement connues). Après quelques conflits, ces efforts ont été unifiés. Unicode autorise actuellement 1 114 112 valeurs de code et attribue des codes couvrant presque tous les systèmes d'écriture de texte modernes, ainsi que de nombreux systèmes historiques, et pour de nombreux caractères non linguistiques tels que les dingbats de l'imprimante , les symboles mathématiques, etc.

Le texte est considéré comme du texte brut quel que soit son codage. Pour bien le comprendre ou le traiter, le destinataire doit savoir (ou être capable de comprendre) quel encodage a été utilisé ; cependant, ils n'ont besoin de rien savoir sur l'architecture informatique qui a été utilisée, ou sur les structures binaires définies par le programme (le cas échéant) qui a créé les données.

La manière la plus courante d'indiquer explicitement l'encodage spécifique du texte brut est peut-être d' utiliser un type MIME . Pour les e-mails et HTTP , le type MIME par défaut est " text/plain " -- texte brut sans balisage. Un autre type MIME souvent utilisé dans les e-mails et HTTP est " text/html ; charset=UTF-8" -- texte brut représenté à l'aide du codage de caractères UTF-8 avec balisage HTML. Un autre type MIME courant est "application/json" - du texte brut représenté à l'aide du codage de caractères UTF-8 avec le balisage JSON .

Lorsqu'un document est reçu sans aucune indication explicite du codage des caractères, certaines applications utilisent la détection de jeu de caractères pour tenter de deviner quel codage a été utilisé.

Codes de contrôle

L'ASCII réserve les 32 premiers codes (chiffres de 0 à 31 décimaux) pour les caractères de contrôle connus sous le nom de « ensemble C0 » : des codes destinés à l'origine à ne pas représenter des informations imprimables, mais plutôt à contrôler les appareils (tels que les imprimantes ) qui utilisent l'ASCII, ou pour fournir des méta-informations sur les flux de données tels que ceux stockés sur bande magnétique. Ils incluent des caractères communs comme le saut de ligne et le caractère de tabulation .

Dans les jeux de caractères à 8 bits tels que Latin-1 et les autres jeux ISO 8859 , les 32 premiers caractères de la « moitié supérieure » (128 à 159) sont également des codes de contrôle, connus sous le nom de « jeu C1 ». Ils sont rarement utilisés directement ; lorsqu'ils apparaissent dans des documents qui sont ostensiblement dans un codage ISO 8859, leurs positions de code font généralement référence aux caractères à cette position dans un codage propriétaire spécifique au système, tel que Windows-1252 ou Mac OS Roman , qui utilisent les codes pour fournir à la place des caractères graphiques supplémentaires.

Unicode définit des caractères de contrôle supplémentaires, y compris des caractères de remplacement de direction de texte bidirectionnels (utilisés pour marquer explicitement l'écriture de droite à gauche à l'intérieur de l'écriture de gauche à droite et inversement) et des sélecteurs de variation pour sélectionner d'autres formes d' idéogrammes CJK , emoji et d'autres personnages.

Voir également

Les références