Encodeur / Décodeur Échappement Unicode (\u %u \x &#x U+ 0x \N) en ligne - DenCode
Décodé
Encodé
| Échappement Unicode |
Format A-F |
|---|
À propos des séquences d'échappement Unicode
Convertit une chaîne au format de séquence d'échappement Unicode.
Les séquences d'échappement Unicode convertissent un caractère en un point de code hexadécimal à 4 chiffres, tel que \uXXXX. Par exemple, "あ" devient "\u3042".
DenCode prend également en charge les formats de notation suivants en plus du format \uXXXX.
| Format | Résultat de la conversion de "ABC" | Description / Langage de programmation |
|---|---|---|
| \uXXXX | \u0041\u0042\u0043 | Séquence d'échappement Unicode générale |
| \u{X} | \u{41}\u{42}\u{43} | Lua |
| \x{X} | \x{41}\x{42}\x{43} | Perl |
| \X | \41\42\43 | CSS |
| &#xX; | ABC | HTML, XML |
| %uXXXX | %u0041%u0042%u0043 | Encodage en pourcentage (non standard) |
| U+XXXX | U+0041 U+0042 U+0043 | Notation standard Unicode du point de code (séparé par des espaces) |
| 0xX | 0x41 0x42 0x43 | Notation hexadécimale du point de code (séparée par des espaces) |
Certains des formats ci-dessus sont mentionnés comme BEST CURRENT PRACTICE dans la RFC 5137 (ASCII Escaping of Unicode Characters), mais il n'y a pas de norme internationale.
Le format %uXXXX est pris en charge par Microsoft IIS, mais c'est un format non standard. C# permet d'encoder au format %u avec System.Web.HttpUtility.UrlEncodeUnicode, mais cette méthode est obsolète depuis .NET Framework 4.5.
Notez que pour le format \X, selon la spécification CSS, un espace demi-chasse suivant lors du décodage est traité comme un délimiteur et ignoré. Pour les formats U+XXXX et 0xX, chaque caractère est séparé par un espace demi-chasse lors de l'encodage, et lors du décodage, un espace demi-chasse consécutif suivant est ignoré, tout comme pour le format \X.
Échappement par nom Unicode
L'échappement par nom Unicode est également pris en charge comme séquence d'échappement Unicode.
| Format | Résultat de la conversion de "A" | Description / Langage de programmation |
|---|---|---|
| \N{name} | \N{LATIN CAPITAL LETTER A} | C++23, Python, Perl |
Les noms Unicode peuvent être vérifiés sur Names List Charts - Unicode ou NamesList.txt - Unicode.
Caractères hors de la plage BMP Unicode dans les séquences d'échappement Unicode
Pour les caractères non-BMP Unicode, le point de code ne tient pas sur 4 chiffres, ils sont donc représentés dans les formats suivants selon le langage de programmation.
Par exemple, le résultat de la conversion de "😀" (U+1F600) est le suivant.
| Format | Résultat de la conversion de "😀" (U+1F600) | Langage de programmation |
|---|---|---|
| \uXXXX | \uD83D\uDE00 | Java, Kotlin, Scala |
| \u{X} | \u{1F600} | C++23, Rust, Swift, JavaScript, PHP, Ruby, Dart, Lua |
| \U00XXXXXX | \U0001F600 | C, C++, Objective-C, C#, Go, Python, R |
| \x{X} | \x{1F600} | Perl |
| \X | \1F600 | CSS |
| &#xX; | 😀 | HTML, XML |
| %uXXXX | %uD83D%uDE00 | - |
| U+XXXX | U+1F600 | - |
| 0xX | 0x1F600 | - |
| \N{name} | \N{GRINNING FACE} | C++23, Python, Perl |
Dans les formats \uXXXX et %uXXXX, les caractères non-BMP sont représentés par deux unités de code en tant que paire de substitution UTF-16 (surrogate pair). Dans les autres formats, un caractère est représenté par un seul point de code.