0

Wynik dekodowania

Unicode Escape

Wynik kodowania

Unicode Escape
Format
A-F

O Sekwencjach Ucieczki Unicode

Konwertuje ciąg znaków na sekwencje ucieczki Unicode.

Podstawowy format to \uXXXX, gdzie XXXX to 4-cyfrowy kod szesnastkowy znaku. Np. „あ” to „\u3042”.

DenCode obsługuje również inne formaty:

FormatPrzykład „ABC”Opis / Język programowania
\uXXXX\u0041\u0042\u0043Typowa sekwencja ucieczki Unicode
\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%u0043Percent-encoding (Niestandardowy)
U+XXXXU+0041 U+0042 U+0043Standardowa notacja Unicode (rozdzielona spacjami)
0xX0x41 0x42 0x43Notacja szesnastkowa (rozdzielona spacjami)

Niektóre formaty są wspomniane w RFC 5137 jako „Best Current Practice”, ale nie ma jednego międzynarodowego standardu.

Format %uXXXX jest obsługiwany przez Microsoft IIS, ale jest niestandardowy. W C# metoda System.Web.HttpUtility.UrlEncodeUnicode koduje do %u, ale jest przestarzała od .NET Framework 4.5.

W formacie CSS (\X), spacja po sekwencji jest traktowana jako separator i ignorowana. W formatach U+XXXX i 0xX, podczas kodowania znaki są oddzielane spacją, a przy dekodowaniu, podobnie jak w \X, pojedyncza spacja po sekwencji jest ignorowana.

Eskapowanie przy użyciu nazwy Unicode

Obsługiwane jest również eskapowanie przy użyciu nazwy znaku Unicode:

FormatPrzykład „A”Opis / Język programowania
\N{name}\N{LATIN CAPITAL LETTER A}C++23, Python, Perl

Nazwy Unicode można sprawdzić w Names List Charts - Unicode lub NamesList.txt - Unicode.

Znaki spoza zakresu BMP (Basic Multilingual Plane)

Dla znaków spoza BMP (kod powyżej U+FFFF), które nie mieszczą się w 4 cyfrach, stosuje się różne zapisy w zależności od języka:

Przykład dla „😀” (U+1F600):

FormatPrzykład „😀”Język programowania
\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

W formatach \uXXXX i %uXXXX, znaki spoza BMP są reprezentowane jako para surogatów UTF-16 (dwa kody). W pozostałych formatach pojedynczy znak jest reprezentowany przez pojedynczy kod.