Codifica
Unicode Escape
Codifica e decodifica di sequenze Unicode — caratteri in formato \uXXXX e viceversa.
A Unicode escape sequence (\uXXXX) writes a character as its code point instead of the character itself — so a string literal in code can contain any Unicode character while the source file itself stays plain ASCII.
How to use it
- Encode: paste text and every non-ASCII character gets replaced with its matching \uXXXX sequence.
- Decode: paste a string containing \uXXXX sequences to get plain, readable text back.
- Characters outside the Basic Multilingual Plane (most emoji) are encoded as a surrogate pair of two sequences.
Common uses
- Reading JSON or JS code where non-ASCII text was pre-escaped into \uXXXX for compatibility.
- Inserting a character that's not on the keyboard into code via an explicit Unicode escape.
- Debugging why a string with an emoji shows up as two odd characters — recognizing a surrogate pair.
Things to keep in mind
\uXXXX encodes exactly one 16-bit UTF-16 unit, not one visible character — characters outside the Basic Multilingual Plane (most emoji) need two such sequences together (a surrogate pair).
JSON only requires escaping for control characters and a few special characters — escaping every character as \uXXXX isn't required, though it is valid.
Articolo su questo strumento: Unicode Escape: cosa significano le sequenze \uXXXX
Domande frequenti
Cosa rappresenta una sequenza di escape \uXXXX?
È un punto di codice Unicode scritto come quattro cifre esadecimali, usato in JSON, stringhe JavaScript e formati simili per rappresentare un carattere senza digitarlo letteralmente.
Perché alcuni caratteri come le emoji diventano due sequenze \u?
I caratteri fuori dal Piano Multilingue di Base (caratteri astrali, inclusa la maggior parte delle emoji) non entrano in una singola unità \uXXXX a 16 bit, quindi sono rappresentati come coppia surrogata — due sequenze \uXXXX che insieme codificano un carattere.
Qual è la differenza tra modalità "Non-ASCII" e "Tutti i caratteri"?
"Non-ASCII" esegue l'escape solo dei caratteri fuori dall'intervallo ASCII base, lasciando intatti lettere, cifre e punteggiatura comuni. "Tutti i caratteri" esegue l'escape di tutto, incluso l'ASCII, utile per individuare il contenuto esatto dei caratteri.
Cosa succede se una coppia surrogata viene divisa a metà?
Si ottiene un carattere non valido e "orfano" — un codice solitario senza il suo abbinato. La maggior parte dei parser rifiuta una stringa del genere con un errore, oppure mostra il carattere segnaposto «�».
Si può codificare un'emoji con un solo \uXXXX?
No, se l'emoji si trova fuori dal Piano Multilingue di Base (e la maggior parte delle emoji moderne è proprio così) — serve sempre una coppia surrogata composta da due sequenze \uXXXX.