0

Dekodiert

Unicode Escape

Kodiert

Unicode Escape
Format
A-F

Über Unicode-Escape-Sequenzen

Konvertiert Zeichenfolgen in Unicode-Escape-Sequenzen.

Unicode-Escape-Sequenzen wandeln ein Zeichen in das Format \uXXXX um, wobei XXXX der vierstellige hexadezimale Codepoint ist. Zum Beispiel wird „あ“ zu „\u3042“.

DenCode unterstützt neben dem Format \uXXXX auch die folgenden Schreibweisen:

FormatErgebnis für „ABC“Beschreibung / Programmiersprache
\uXXXX\u0041\u0042\u0043Allgemeine Unicode-Escape-Sequenz
\u{X}\u{41}\u{42}\u{43}Lua
\x{X}\x{41}\x{42}\x{43}Perl
\X\41\42\43CSS
&#xX;ABCHTML, XML
%uXXXX%u0041%u0042%u0043Prozentkodierung (nicht standardisiert)
U+XXXXU+0041 U+0042 U+0043Unicode-Standardnotation für Codepoints (durch Leerzeichen getrennt)
0xX0x41 0x42 0x43Hexadezimale Notation für Codepoints (durch Leerzeichen getrennt)

Einige der oben genannten Formate werden in RFC 5137 (ASCII Escaping of Unicode Characters) als BEST CURRENT PRACTICE erwähnt, es gibt jedoch keinen internationalen Standard.

Das Format %uXXXX wird von Microsoft IIS unterstützt, ist aber nicht standardisiert. In C# kann System.Web.HttpUtility.UrlEncodeUnicode in das %u-Format kodieren, diese Methode ist jedoch ab .NET Framework 4.5 veraltet.

Beachten Sie, dass beim Format \X gemäß der CSS-Spezifikation ein nachfolgendes Leerzeichen beim Dekodieren als Trennzeichen behandelt und ignoriert wird. Bei den Formaten U+XXXX und 0xX werden Zeichen beim Kodieren durch ein Leerzeichen getrennt, und beim Dekodieren wird, wie beim \X-Format, ein nachfolgendes Leerzeichen ignoriert.

Unicode-Escape mit Namen

Es wird auch das Escapen mit Unicode-Namen unterstützt.

FormatErgebnis für „A“Beschreibung / Programmiersprache
\N{name}\N{LATIN CAPITAL LETTER A}C++23, Python, Perl

Unicode-Namen können in Names List Charts - Unicode oder NamesList.txt - Unicode nachgeschlagen werden.

Zeichen außerhalb der BMP (Basic Multilingual Plane)

Für Unicode-Zeichen außerhalb der BMP reicht ein 4-stelliger Codepoint nicht aus. Je nach Programmiersprache werden folgende Schreibweisen verwendet:

Beispiel für die Konvertierung von „😀“ (U+1F600):

FormatErgebnis für „😀“(U+1F600)Programmiersprache
\uXXXX\uD83D\uDE00Java, Kotlin, Scala
\u{X}\u{1F600}C++23, Rust, Swift, JavaScript, PHP, Ruby, Dart, Lua
\U00XXXXXX\U0001F600C, C++, Objective-C, C#, Go, Python, R
\x{X}\x{1F600}Perl
\X\1F600CSS
&#xX;😀HTML, XML
%uXXXX%uD83D%uDE00-
U+XXXXU+1F600-
0xX0x1F600-
\N{name}\N{GRINNING FACE}C++23, Python, Perl

Bei den Formaten \uXXXX und %uXXXX werden Zeichen außerhalb der BMP als Surrogate Pairs in UTF-16 (zwei Code-Einheiten) dargestellt. Bei den anderen Formaten wird ein Zeichen durch einen einzigen Codepoint dargestellt.