Ce que fait cet outil
Il lit le contenu d’un littéral de chaîne C# et rend le texte qu’il représente. Il décode les séquences reconnues par C# — \n, \r, \t, \b, \f, \v, \0 et \a — ainsi que \uXXXX, la forme point de code \u{1F600} et la forme hexadécimale \xNN. 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.
Là où C# diffère
\a et \v sont les deux séquences que C# possède et que Java n’a pas, ce qui en fait un indice fiable qu’un littéral vient de C# et non de Java. Toutes deux sont décodées ici : \a donne le caractère bell U+0007, \v la tabulation verticale U+000B. La différence joue aussi dans l’autre sens : C# n’a aucun échappement octal, là où Java et JavaScript en ont un. \101 vaut A dans ces deux langages et ressort ici comme les trois caractères 101, parce qu’en C# \0 est une séquence nommée et que le 101 qui suit n’est que du texte.
Ce qu’il ne fait pas
La forme \U0001F600 à huit chiffres n’est pas reconnue et ressort comme le texte U0001F600 ; utilisez \u{1F600} ou la paire de substitution. \e ressort de même en lettre e.
\u{1F600} n’est pas davantage de la syntaxe C#. C# a \uXXXX et la forme à huit chiffres \UXXXXXXXX, et aucune forme à accolades ; elle est acceptée ici par commodité, exactement comme dans l’outil Java, mais csc la refuserait. Sur ce seul caractère, l’outil et le langage divergent donc dans les deux sens : il lit une forme que C# n’a pas, et ne lit pas celle que C# a.
\x est lu comme exactement deux chiffres hexadécimaux, alors que C# en accepte un à quatre. \x4142 est un seul caractère en C# mais ressort ici en A42 — une divergence réelle, et la raison pour laquelle les guides de style C# déconseillent cette forme à longueur variable.
Enfin, il décode le contenu d’un littéral, pas une expression C# : rien n’est concaténé, les trous d’interpolation restent tels quels, et les chaînes verbatim ne doivent pas y passer du tout.
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.