Tabella delle codifiche Unicode
Strumento gratuito che, inserito un carattere, mette a confronto punto di codice Unicode, sequenza di byte UTF-8 e rappresentazioni protette per JavaScript, HTML, indirizzi web e fogli di stile. Tutto avviene nel navigatore.
Tabella delle codifiche dei caratteri più comuni
| Carattere | Punto di codice | UTF-8 | Note |
|---|---|---|---|
| A | U+0041 | 41 | Lettera maiuscola latina (ASCII, un byte) |
| 0 | U+0030 | 30 | Cifra (ASCII, un byte) |
| ␣ | U+0020 | 20 | Spazio (ASCII, un byte) |
| ! | U+0021 | 21 | Punto esclamativo (segno ASCII, un byte) |
| @ | U+0040 | 40 | Chiocciola (segno ASCII, un byte) |
| © | U+00A9 | C2 A9 | Segno del diritto d'autore (supplemento Latin-1, due byte) |
| € | U+20AC | E2 82 AC | Simbolo dell'euro (tre byte) |
| → | U+2192 | E2 86 92 | Freccia a destra (segno direzionale, tre byte) |
| あ | U+3042 | E3 81 82 | Sillabario giapponese hiragana (tre byte) |
| 漢 | U+6F22 | E6 BC A2 | Ideogramma (unificazione CJK, tre byte) |
| 한 | U+D55C | ED 95 9C | Sillaba coreana hangul (tre byte) |
| 😀 | U+1F600 | F0 9F 98 80 | Faccina (fuori dal piano multilingue di base, quattro byte; in JavaScript una coppia surrogata) |
Che cosa fa questo convertitore di codifiche Unicode
Questo strumento prende qualsiasi carattere digitato e mostra contemporaneamente sette rappresentazioni diverse, messe a confronto fianco a fianco: il punto di codice Unicode, la sequenza di byte UTF-8, la notazione protetta per JavaScript, l'entità HTML (decimale ed esadecimale), la codifica percentuale per gli indirizzi web e la notazione protetta per i fogli di stile. Ogni conversione — dal carattere al punto di codice, e dal punto di codice a ciascuna rappresentazione in byte — viene calcolata istantaneamente nel navigatore mentre si digita, senza inviare alcun dato a un server.
Un dettaglio da conoscere: molte faccine hanno un punto di codice che ricade fuori dal piano multilingue di base di Unicode (BMP, U+0000-U+FFFF), perciò le stringhe JavaScript le rappresentano internamente come una coppia surrogata, cioè due unità di codice da 16 bit anziché una sola. Questo strumento usa internamente `codePointAt` in modo che una coppia surrogata venga sempre ricomposta in un unico punto di codice corretto: le faccine producono così risultati precisi invece di due mezzi caratteri separati. Digitando più di un carattere, ciascuno riceve il proprio blocco di risultato.
Come usare questo convertitore Unicode
- Digitate il carattere da consultare Inserite una lettera, un simbolo o una faccina nel campo di inserimento. Potete anche incollare più caratteri insieme.
- Osservate il blocco di risultato per ogni carattere Per ciascun carattere inserito compare una scheda separata con tutte le sette rappresentazioni.
- Individuate la rappresentazione che vi serve Scorrete le righe fino al formato utile al vostro scopo: punto di codice, byte UTF-8, notazione protetta per JavaScript e così via.
- Copiate il valore con il pulsante di copia Cliccate sul pulsante di copia accanto a una riga per portare negli appunti solo quel valore, pronto da incollare nel codice.
- Provate un altro carattere Modificate il campo di inserimento oppure premete "Cancella" per ricominciare, quindi digitate il prossimo carattere da verificare.
Consigli per sfruttarlo al meglio
- Nel campo si può inserire più di un carattere: in tal caso i risultati compaiono in blocchi separati, uno per carattere.
- Le faccine si trovano fuori dal piano multilingue di base di Unicode, cioè oltre U+FFFF, e nelle stringhe di JavaScript sono perciò rappresentate da due unità di codice, la coppia surrogata: è per questo che nella riga della notazione protetta per JavaScript compaiono due sequenze `\uXXXX`.
- Nella notazione protetta per i fogli di stile si scrive l'esadecimale del punto di codice, come `\41`; se subito dopo segue un carattere interpretabile come cifra esadecimale, cioè da 0 a 9 o da a a f, conviene aggiungere in coda uno spazio come separatore.
- I riferimenti HTML si possono scrivere in decimale,
A, oppure in esadecimale,A: il navigatore li interpreta come lo stesso carattere. - Il pulsante di copia porta negli appunti il valore di ciascuna riga: comodo per incollarlo direttamente nel codice o in un foglio di stile.
Situazioni in cui torna utile
Diagnosticare testo corrotto o mal codificato
Quando un programma o un database mostra un carattere inatteso, confrontare il punto di codice reale e i byte UTF-8 aiuta a capire se la causa è un'incompatibilità di codifica.
Verificare come vengono codificate le faccine
Scoprite a colpo d'occhio quante unità di codice richiede una faccina come coppia surrogata in JavaScript e quanti byte occupa in UTF-8.
Controllare la memorizzazione dei caratteri in un database
Utile quando serve sapere in anticipo quanti byte occuperà un determinato carattere, per esempio per decidere se una colonna MySQL richiede utf8mb4.
Inserire caratteri speciali in HTML o CSS
Recuperate il riferimento HTML o la notazione protetta CSS corretti per un simbolo o un carattere di un'altra lingua e incollateli direttamente nel markup o nel foglio di stile.
Verificare la codifica di un indirizzo web
Controllate che i parametri di una richiesta contenenti caratteri non ASCII o simboli siano codificati in percentuale come previsto, prima di inviare la richiesta.
Glossario
- Unicode
- Uno standard internazionale di codifica dei caratteri che assegna un unico numero, il punto di codice, a ogni carattere usato nel mondo, con l'obiettivo di evitare testo corrotto tra lingue diverse.
- Punto di codice
- Il numero che Unicode assegna a un carattere, scritto come
U+0041: un numero esadecimale dopo il prefisso "U+" che identifica in modo univoco di quale carattere si tratti. - UTF-8
- Una codifica specifica per memorizzare o trasmettere i punti di codice Unicode come byte. Usa da 1 a 4 byte di lunghezza variabile per carattere ed è pienamente compatibile con ASCII, motivo per cui domina sul web.
- UTF-16
- Una codifica che rappresenta i punti di codice Unicode in unità da 16 bit (unità di codice). Le stringhe JavaScript usano internamente questa codifica.
- Coppia surrogata
- Una combinazione di due unità di codice usata in UTF-16 per rappresentare un punto di codice oltre il piano multilingue di base (BMP). La maggior parte delle faccine richiede una coppia surrogata.
- BMP (piano multilingue di base)
- L'intervallo di punti di codice Unicode da U+0000 a U+FFFF. I caratteri di questo intervallo si possono rappresentare con una sola unità di codice UTF-16.
- Riferimento HTML
- Un modo per scrivere caratteri speciali in sicurezza dentro un markup HTML, come
A(decimale) oA(esadecimale). - Codifica percentuale
- Una codifica che converte i caratteri non ammessi in un indirizzo web in byte UTF-8 e scrive ciascun byte come
%XX. Usata comunemente per testo non ASCII negli indirizzi web.
Domande frequenti
A in decimale oppure A in esadecimale, con il prefisso x, e valgono soltanto dentro un documento HTML. La notazione protetta dei fogli di stile si scrive invece `\41`, con il solo esadecimale, senza U+ né x, e si usa nei selettori e nei valori delle proprietà. Occorre scegliere la forma giusta secondo l'uso.
A proposito — Unicode, che ha unificato codifiche fino ad allora disparate
Prima della comparsa di Unicode le codifiche dei caratteri variavano da paese a paese e da lingua a lingua. Per il solo giapponese convivevano Shift_JIS, EUC-JP, il codice JIS e altri ancora, e lo scambio di testi fra sistemi diversi produceva di continuo caratteri corrotti. La versione 1.0 di Unicode, pubblicata nel 1991, si proponeva di risolvere quella confusione assegnando un numero unico, il punto di codice, a ogni carattere del mondo.
Unicode e la norma internazionale ISO/IEC 10646 furono elaborati dapprima separatamente, ma in seguito i due progetti si coordinarono fino a condividere lo stesso repertorio di caratteri e le stesse assegnazioni. Oggi Unicode raccoglie oltre centocinquantamila caratteri, faccine comprese, e ogni anno una nuova versione ne aggiunge altri.
UTF-8 è una codifica progettata nel 1992 da Ken Thompson e Rob Pike: la sua idea rivoluzionaria fu di rappresentare tutti i caratteri Unicode conservando la piena compatibilità all'indietro con ASCII. Quella scelta si è rivelata vincente e le ha guadagnato la posizione di standard di fatto per la codifica dei documenti sul web.