Convertisseur d’échappements Unicode

Représentez le texte sous forme d’échappements \uXXXX ou de références HTML décimales et hexadécimales. Le décodage reconnaît ces trois notations, même mélangées au sein du texte, sans dépendre du format sélectionné. Il ne s’agit pas d’une conversion d’octets UTF-8.

Fonctionne localement dans votre navigateur

Choisir la notation avant l’encodage

Collez directement le contenu dans le champ. La conversion s’effectue dans le navigateur sans transmettre la saisie dans des requêtes réseau. L’import de fichiers et le traitement par lots ne sont pas proposés.

  1. Sélectionnez les échappements Unicode, les références décimales ou les références hexadécimales, puis cliquez sur Encoder le texte.
  2. Pour lire des séquences existantes, utilisez Décoder les séquences. Cette action reconnaît les trois formes ensemble, quel que soit le format sélectionné.
  3. Copiez le résultat. Modifier la saisie ou le format, ou rencontrer une erreur, efface l’ancienne sortie et désactive la copie. Effacer vide les deux champs sans changer le format. Pour une autre opération, recollez vous-même le résultat dans la saisie.

Des unités UTF-16 aux points de code

Deux échappements peuvent représenter un seul caractère

Le mode Unicode écrit chaque unité de code UTF-16 sous la forme \u suivie d’exactement quatre chiffres hexadécimaux, avec les lettres en minuscules et sans guillemets extérieurs. A donne \u0041, Ā donne \u0100 et un véritable saut LF donne \u000a. 😀 nécessite la paire \ud83d\ude00.

Les références numériques utilisent les points de code complets : A你😀 donne A你😀 ou A你😀. Les références hexadécimales ont une longueur variable et des lettres hexadécimales majuscules. Les lettres ordinaires et les espaces sont également encodés.

Un décodage de fragments en un seul passage

Les formes reconnues sont \u avec un u minuscule et quatre chiffres hexadécimaux, ainsi que les références numériques terminées par un point-virgule. Les références hexadécimales acceptent &#x ou &#X et les chiffres dans les deux casses. Ainsi, \u0041你😀 devient A你😀.

\u005cu0041 devient le texte littéral \u0041 ; A devient A, pas A. Les séquences produites ne sont pas réexaminées. Ce n’est pas une analyse complète de JavaScript ou de JSON. Aucun code n’est exécuté et la sortie est affichée en texte, pas rendue comme du HTML.

Les règles HTML ne concernent que les références numériques

he 1.2.0 applique des contrôles HTML stricts à la création des références numériques et à leur décodage. Ces contrôles ne s’appliquent pas aux échappements Unicode : NUL, U+0080 et U+FFFF peuvent être encodés dans ce mode et décodés par \u, alors que l’encodage numérique les refuse. Aucun mode d’encodage n’accepte de substitut isolé ; le résultat décodé ne doit pas en contenir non plus.

\uD83D\uDE00 donne 😀, mais les références de substituts �� sont refusées, tout comme �, € et �.

Questions sur les échappements Unicode

Pourquoi certaines séquences restent-elles intactes ?

Les formes non reconnues restent littérales : \uZZZZ, \u{41}, \U0041, \n, &, &#xZZ; ou &#65 sans point-virgule. Une liste comme 65 66 n’est pas interprétée. En revanche, une référence numérique reconnue peut provoquer une erreur de validation stricte.

Un aller-retour conserve-t-il toujours le texte ?

Les espaces aux extrémités ne sont pas supprimés et aucune normalisation Unicode n’est appliquée. Une saisie vide produit une sortie vide. Le champ de texte convertit toutefois les véritables fins de ligne CRLF et CR en LF. Le cœur de conversion peut encoder CR en 
, mais le décodage numérique strict refuse 
. L’aller-retour exact n’est donc pas garanti pour toute entrée.

Outils récents :