Come codificare e decodificare URL

· 3 min di lettura

Se hai mai visto %20 in un URL dove avrebbe dovuto esserci uno spazio, o %C3%A9 dove un carattere accentato aveva il suo posto, hai incontrato la codifica URL. È un mattone fondamentale del web, e capirla aiuta a fare il debug di link rotti, problemi di API e invii di moduli.

Cosa fa la codifica URL

Gli URL possono contenere solo un insieme ristretto di caratteri sicuri: lettere (A-Z, a-z), cifre (0-9) e alcuni caratteri speciali (-, _, ., ~). Tutto il resto — spazi, accenti, emoji, simboli come &, =, #, ? — deve essere convertito in un formato sicuro.

La codifica URL (chiamata anche percent-encoding) sostituisce i caratteri non sicuri con un % seguito dal loro valore esadecimale in byte:

Carattere Codificato
Spazio %20
& %26
= %3D
# %23
? %3F
/ %2F
@ %40

Quando la codifica URL è necessaria

Come codificare e decodificare

  1. Scegli codifica o decodifica — seleziona la direzione. Usa encodeURIComponent per i parametri di query o encodeURI per gli URL completi.
  2. Incolla il tuo input — inserisci il testo o l'URL. Il risultato si aggiorna istantaneamente.
  3. Copia l'output — usa il risultato nel tuo codice, nella tua richiesta API o nel tuo browser.

Consigli

Domande frequenti

Qual è la differenza tra encodeURI e encodeURIComponent?

encodeURI preserva i caratteri validi in una struttura di URL (barre, due punti, punti interrogativi). encodeURIComponent codifica tutto tranne lettere, cifre e alcuni caratteri sicuri. Usa encodeURIComponent per i valori di parametri di query, encodeURI per gli URL completi.

Perché gli spazi diventano %20 o +?

Nella codifica URL, gli spazi diventano %20. Nei dati di modulo (application/x-www-form-urlencoded), gli spazi diventano +. Entrambi sono validi nei loro contesti, ma %20 è lo standard universale per gli URL.

Devo codificare i miei URL manualmente?

Nella maggior parte dei casi, il tuo linguaggio o framework si occupa della codifica automaticamente. La codifica manuale è utile quando costruisci URL a mano, fai il debug di richieste API o lavori con stringhe di query contenenti caratteri speciali.

I miei dati vengono inviati a un server?

No. Tutta la codifica e la decodifica avvengono nel tuo browser.