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

Common uses

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.

Articoli: Codifica

Base64: a cosa serve la codifica e come funziona

Come Base64 trasforma dati binari in testo ASCII e quando serve davvero.

Base32: come si differenzia da Base64 e quando è più comodo

L'alfabeto di Base32, insensibile a maiuscole/minuscole, e i casi in cui è più comodo di Base64.

URL Encode/Decode: il percent-encoding nei link

Come i caratteri speciali negli indirizzi e nei parametri diventano sequenze %XX.

HTML Entities: come mostrare caratteri speciali in sicurezza

Perché i caratteri < > & vanno escapati e come questo evita di rompere il markup.

JWT: struttura del token e cosa significa "decodificare" un JWT

Header, payload e signature di un JWT, e perché decodificare non equivale a verificare la firma.

ROT13 e il cifrario di Cesare: semplice sostituzione di caratteri

Perché uno scorrimento di 13 lettere rende ROT13 auto-inverso, e perché si usa ancora oggi.

Punycode: come funzionano i domini internazionalizzati nel DNS

Come un dominio con caratteri non latini diventa una forma ASCII con il prefisso xn--.

Il codice Morse: come il testo diventa punti e linee

Il principio di codifica delle lettere in punti e linee, e dove si usa ancora oggi il Morse.

Data URI: quando incorporare immagini direttamente nel codice

Come un Data URI incorpora il contenuto di un file direttamente in HTML o CSS, e quando conviene.

Gzip + Base64: comprimere dati per trasmetterli come testo

Perché i dati binari compressi vengono anche codificati in Base64 prima di finire in un campo di testo.

XML Entities: escapare i caratteri nei documenti XML

Le cinque entity XML obbligatorie senza le quali il documento si rompe durante il parsing.