ASCII et ANSI : texte, couleurs et séquences de terminal
ASCII définit des codes de caractères. L’expression « art ANSI » désigne généralement un dessin dont le terminal interprète aussi des séquences de couleur ou de mise en forme. Un texte coloré dans un terminal ne garde pas forcément ses couleurs ailleurs.
Trois éléments à distinguer
| Élément | Exemple | Rôle |
|---|---|---|
| Texte / text | OK | Caractères visibles / visible characters |
| Contrôle / control | ESC [ 31 m | Couleur / colour |
| Terminal | VT compatible | Interprétation / interpretation |
La norme ECMA-48 décrit des fonctions de contrôle. Le mot ANSI est souvent employé comme raccourci ; il ne désigne pas un encodage unique qui rendrait tous les fichiers identiques. La présence de séquences ne prouve pas leur prise en charge par le logiciel destinataire.
Exemple 1 : rouge puis réinitialisation dans Bash
printf '\033[31m%s\033[0m\n' 'OK'
Dans un terminal compatible, la commande demande le rouge pour OK, puis réinitialise la présentation. \033 est l’écriture octale d’ESC dans le format de printf ; les caractères \, 0, 3, 3 ne sont pas destinés à être affichés. Le code 0m évite de laisser la couleur active pour la suite. La teinte réelle dépend du thème.
Exemple 2 : le même message sans couleur
printf '%s\n' 'OK'
Cette version ne contient aucune séquence de présentation. Elle convient à un fichier de log ou à un environnement dont vous ne connaissez pas le terminal. Pour un dessin multiligne, gardez aussi une version TXT sans séquences : c’est celle que vous pourrez copier dans un bloc Markdown sans afficher des codes parasites.
Compatibilité et limites
La documentation Microsoft des séquences VT précise les comportements et modes de console concernés sous Windows. Un éditeur de texte ou une messagerie ne se comporte pas nécessairement comme un terminal. Les exemples de commandes ciblent Bash ; ils ne sont pas des commandes cmd. Les outils ArtASCII exportent du texte et des images, pas un fichier d’art ANSI coloré.
Contrôle avant diffusion
Comparez la version colorée et la version simple : toutes les informations doivent rester compréhensibles sans couleur. Testez le thème clair et le thème sombre. Réservez les séquences aux destinations prévues pour elles ; elles peuvent aussi agir sur le curseur et ne sont pas de simples lettres décoratives.