0

Gedecodeerd

Unicode Escape

Gecodeerd

Unicode Escape
Formaat
A-F

Over Unicode escape-reeksen

Converteert een string naar het formaat van Unicode escape-reeksen.

Een Unicode escape-reeks converteert 1 teken naar een formaat van een 4-cijferig hexadecimaal codepunt zoals \uXXXX. Bijvoorbeeld, "あ" wordt "\u3042".

DenCode ondersteunt naast het \uXXXX formaat ook de volgende notatieformaten.

FormaatConversieresultaat van "ABC"Beschrijving / Programmeertaal
\uXXXX\u0041\u0042\u0043Algemene Unicode escape-reeks
\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%u0043Procent-codering (niet-standaard)
U+XXXXU+0041 U+0042 U+0043Unicode standaardnotatie voor codepunten (gescheiden door spaties)
0xX0x41 0x42 0x43Hexadecimale notatie voor codepunten (gescheiden door spaties)

Sommige van de bovenstaande formaten worden genoemd als BEST CURRENT PRACTICE in RFC 5137 (ASCII Escaping of Unicode Characters), maar er is geen internationale standaard en dergelijke.

Het %uXXXX formaat wordt ondersteund door Microsoft IIS, maar is een niet-standaard formaat. C#'s System.Web.HttpUtility.UrlEncodeUnicode kan coderen naar %u formaat, maar deze methode is verouderd sinds .NET Framework 4.5.

Let er bij het \X formaat op dat volgens de CSS-specificatie bij het decoderen één volgende spatie van halve breedte wordt behandeld als scheidingsteken en wordt genegeerd. Bij U+XXXX en 0xX formaten wordt bij het coderen elk teken gescheiden door een spatie van halve breedte, en bij het decoderen wordt één volgende aaneengesloten spatie van halve breedte genegeerd, net als bij het \X formaat.

Escapen met Unicode-namen

Als Unicode escape-reeks wordt ook escapen met Unicode-namen ondersteund.

FormaatConversieresultaat van "A"Beschrijving / Programmeertaal
\N{name}\N{LATIN CAPITAL LETTER A}C++23, Python, Perl

Unicode-namen kunnen worden bevestigd op Names List Charts - Unicode of NamesList.txt - Unicode.

Tekens buiten het Unicode BMP-bereik in Unicode escape-reeksen

Voor niet-BMP Unicode-tekens past het codepunt niet in 4 cijfers, dus worden ze voor elke programmeertaal weergegeven in de volgende notatieformaten.

Bijvoorbeeld, het resultaat van het converteren van "😀"(U+1F600) is als volgt:

FormaatConversieresultaat van "😀"(U+1F600)Programmeertaal
\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

In de formaten \uXXXX en %uXXXX worden niet-BMP tekens weergegeven als twee code-eenheden als een UTF-16 surrogaatpaar. In andere formaten wordt 1 teken weergegeven met 1 codepunt.