0

Decodificato

Unicode Escape

Codificato

Unicode Escape
Formato
A-F

Informazioni sulla sequenza di escape Unicode

Converte le stringhe nel formato di sequenza di escape Unicode.

Una sequenza di escape Unicode converte un singolo carattere nel formato di un punto di codice esadecimale a 4 cifre, come \uXXXX. Ad esempio, "あ" diventa "\u3042".

Oltre al formato \uXXXX, DenCode supporta anche le seguenti notazioni:

FormatoRisultato per "ABC"Descrizione / Linguaggio di programmazione
\uXXXX\u0041\u0042\u0043Sequenza di escape Unicode generale
\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 (Non standard)
U+XXXXU+0041 U+0042 U+0043Notazione standard Unicode per punti di codice (separati da spazi)
0xX0x41 0x42 0x43Notazione esadecimale per punti di codice (separata da spazi)

Alcuni dei formati sopra citati sono menzionati come BEST CURRENT PRACTICE in RFC 5137 (ASCII Escaping of Unicode Characters), ma non esiste uno standard internazionale.

Il formato %uXXXX è supportato da Microsoft IIS, ma è un formato non standard. System.Web.HttpUtility.UrlEncodeUnicode di C# può codificare in formato %u, ma questo metodo è deprecato da .NET Framework 4.5.

Si noti che per il formato \X, come specifica CSS, un singolo spazio successivo viene trattato come delimitatore e ignorato durante la decodifica. Nei formati U+XXXX e 0xX, ogni carattere è separato da uno spazio durante la codifica e, durante la decodifica, un singolo spazio consecutivo viene ignorato, proprio come nel formato \X.

Escape tramite nomi Unicode

Supporta anche l'escape tramite nomi Unicode come sequenza di escape Unicode.

FormatoRisultato per "A"Descrizione / Linguaggio di programmazione
\N{name}\N{LATIN CAPITAL LETTER A}C++23, Python, Perl

I nomi Unicode possono essere verificati su Names List Charts - Unicode o NamesList.txt - Unicode.

Caratteri fuori dall'intervallo Unicode BMP nelle sequenze di escape Unicode

Per i caratteri Unicode non-BMP, poiché il punto di codice non rientra in 4 cifre, vengono utilizzati i seguenti formati di notazione per ciascun linguaggio di programmazione.

Ad esempio, il risultato della conversione di "😀" (U+1F600) è il seguente:

FormatoRisultato per "😀" (U+1F600)Linguaggio di programmazione
\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

Nei formati \uXXXX e %uXXXX, i caratteri non-BMP sono rappresentati da due unità di codice come coppie surrogate UTF-16. Negli altri formati, un carattere è rappresentato da un singolo punto di codice.