Ce que fait cet outil
Il lit le contenu d’un littéral de chaîne et rend le texte qu’il représente. Les formes nommées \n, \r, \t, \b, \f, \v et \0 redeviennent leurs caractères. \uXXXX, la forme point de code \u{1F600} et la forme hexadécimale \xNN sont décodées. Une paire de substitution écrite \ud83d\ude00 est recomposée en l’unique caractère qu’elle encode.
Tout autre caractère après un antislash ressort nu : \q donne q, \\ donne un seul antislash, \" donne un guillemet. C’est la règle de JavaScript elle-même, pas un repli — un échappement non reconnu est défini comme le caractère qui le suit.
Quand en avoir besoin
Une chaîne extraite d’un bundle minifié, d’une ligne de log ou d’une trace d’exécution, où les échappements se sont empilés et où l’on veut lire ce qui est réellement écrit. Également pour un fichier de traduction ou une valeur de configuration passée une fois de trop par une étape d’encodage.
Ce qu’il ne fait pas
Il décode le contenu d’un littéral, pas une expression JavaScript. Collez ce qui se trouve entre les guillemets : rien n’est concaténé ni évalué.
Les échappements octaux hérités sont décodés, parce qu’un moteur non strict les décode : \101 donne A, \012 un saut de ligne. En rencontrer un vous apprend toutefois quelque chose sur la source — la forme est une erreur de syntaxe en mode strict et dans les littéraux de gabarit, un littéral qui l’utilise vient donc de code ancien.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.