Riferimento8 min di lettura

Tabella completa dei caratteri URL codificati (ASCII + Unicode)

Tabella di riferimento completa dei caratteri URL codificati. Copre tutti i caratteri ASCII stampabili (32-126), i caratteri Unicode più comuni e i loro equivalenti percent-encoded come definito da RFC 3986.

Caratteri ASCII di controllo e speciali

I caratteri ASCII nell'intervallo 0-31 e il carattere 127 sono caratteri di controllo. Non sono stampabili e devono sempre essere codificati con la percent-encoding negli URL. I caratteri di controllo più frequenti nei contesti URL sono lo spazio (ASCII 32), la tabulazione orizzontale (ASCII 9) e i caratteri di nuova riga (ASCII 10 e 13).

Secondo RFC 3986, qualsiasi ottetto che non sia un carattere unreserved, un carattere reserved usato per il suo scopo riservato o una tripletta percent-encoded deve essere codificato con la percent-encoding. In pratica, questo significa che la maggior parte dei caratteri non alfanumerici dovrebbe essere codificata nei componenti di un URI.

Carattere Codice ASCII Codifica URL Descrizione
(tab) 9 %09 Tabulazione orizzontale
(LF) 10 %0A Avanzamento di riga
(CR) 13 %0D Ritorno a capo
(spazio) 32 %20 Spazio

Caratteri ASCII stampabili

Di seguito trovi un riferimento completo di tutti i caratteri ASCII stampabili (codici 32-126) e le loro forme URL codificate. I caratteri contrassegnati come "unreserved" in RFC 3986 non richiedono la codifica. I caratteri reserved devono essere codificati quando vengono usati al di fuori del loro scopo riservato.

Carattere ASCII Hex Codifica URL Tipo
(spazio) 32 20 %20 Speciale
! 33 21 %21 Reserved
" 34 22 %22 Non sicuro
# 35 23 %23 Reserved
$ 36 24 %24 Reserved
% 37 25 %25 Speciale
& 38 26 %26 Reserved
' 39 27 %27 Reserved
( 40 28 %28 Reserved
) 41 29 %29 Reserved
* 42 2A %2A Reserved
+ 43 2B %2B Reserved
, 44 2C %2C Reserved
- 45 2D %2D Unreserved
. 46 2E %2E Unreserved
/ 47 2F %2F Reserved
0-9 48-57 30-39 Non richiesta Unreserved
: 58 3A %3A Reserved
; 59 3B %3B Reserved
< 60 3C %3C Non sicuro
= 61 3D %3D Reserved
> 62 3E %3E Non sicuro
? 63 3F %3F Reserved
@ 64 40 %40 Reserved
A-Z 65-90 41-5A Non richiesta Unreserved
[ 91 5B %5B Reserved
\ 92 5C %5C Non sicuro
] 93 5D %5D Reserved
^ 94 5E %5E Non sicuro
_ 95 5F %5F Unreserved
` 96 60 %60 Non sicuro
a-z 97-122 61-7A Non richiesta Unreserved
{ 123 7B %7B Non sicuro
| 124 7C %7C Non sicuro
} 125 7D %7D Non sicuro
~ 126 7E %7E Unreserved

Codifiche Unicode più comuni

I caratteri Unicode vengono prima convertiti nella loro sequenza di byte UTF-8, dopodiché ogni byte viene codificato singolarmente con la percent-encoding. I caratteri multi-byte producono più triplette percent-encoded.

Carattere Descrizione Byte UTF-8 Codifica URL
a con dieresi Latin Small Letter A with Diaeresis C3 A4 %C3%A4
n con tilde Latin Small Letter N with Tilde C3 B1 %C3%B1
e con accento acuto Latin Small Letter E with Acute C3 A9 %C3%A9
u con dieresi Latin Small Letter U with Diaeresis C3 BC %C3%BC
Simbolo dell'euro Euro Sign E2 82 AC %E2%82%AC
Simbolo della sterlina Pound Sign C2 A3 %C2%A3
Simbolo dello yen Yen Sign C2 A5 %C2%A5
CJK zhong CJK Unified Ideograph (middle) E4 B8 AD %E4%B8%AD
Ya cirillica Cyrillic Capital Letter Ya D0 AF %D0%AF
Ba araba Arabic Letter Ba D8 A8 %D8%A8

Come vengono codificati i caratteri multi-byte

UTF-8 utilizza uno schema di codifica a lunghezza variabile. I caratteri nell'intervallo ASCII (0-127) usano un byte. I caratteri al di fuori di questo intervallo usano da due a quattro byte. Durante la percent-encoding, ogni byte della rappresentazione UTF-8 diventa una tripletta %XX separata.

Caratteri a due byte (da U+0080 a U+07FF): comprendono la maggior parte dei caratteri latini estesi, greci, cirillici e arabi. Ad esempio, la lettera tedesca esse acuta (U+00DF) viene codificata nei byte UTF-8 C3 9F, che diventano %C3%9F.

Caratteri a tre byte (da U+0800 a U+FFFF): comprendono i caratteri CJK, la maggior parte dei simboli e il Basic Multilingual Plane. Ad esempio, il carattere hiragana giapponese (U+3042) viene codificato nei byte UTF-8 E3 81 82, che diventano %E3%81%82.

Caratteri a quattro byte (da U+10000 a U+10FFFF): comprendono le emoji e i caratteri supplementari. Ad esempio, l'emoji del volto sorridente (U+1F600) viene codificata nei byte UTF-8 F0 9F 98 80, che diventano %F0%9F%98%80.

// Dimostrazione in JavaScript della codifica multi-byte
console.log(encodeURIComponent('u con dieresi'));
// Due byte: "%C3%BC"

console.log(encodeURIComponent('carattere CJK'));
// Tre byte: "%E4%B8%AD"

console.log(encodeURIComponent('emoji'));
// Quattro byte: "%F0%9F%98%80"

// Puoi verificare eseguendo la decodifica
console.log(decodeURIComponent('%C3%BC'));  // u con dieresi
console.log(decodeURIComponent('%E4%B8%AD')); // carattere CJK

Articoli correlati

Prova i nostri strumenti gratuiti