🔧Toolify

Codificatore / Decodificatore URL (percent-encoding, sicuro UTF-8)

Usa per incorporare testo in modo sicuro in URL, parametri query o dati di form. Gestisce spazi, caratteri speciali e Unicode (inclusi CJK ed emoji) correttamente.

Risultato codificato
 

Come funziona

Cos'è la codifica URL

Gli URL sono limitati a un piccolo insieme di caratteri ASCII. Per includere qualsiasi altra cosa — spazi, accenti, caratteri cinesi, emoji, simboli speciali — si sostituisce ogni byte non sicuro con %XX dove XX è il suo valore di byte esadecimale. Uno spazio diventa %20, una barra %2F, il carattere 漢 diventa %E6%BC%A2 (i suoi byte UTF-8 con percent-encoding).

Questo calcolatore usa le funzioni integrate del browser encodeURIComponent e decodeURIComponent. Codifica tutto ciò che non è un carattere non riservato (lettere, cifre, -._~), che è il comportamento corretto per i parametri query e i dati di form.

encodeURI vs encodeURIComponent

JavaScript ha due codificatori. encodeURI lascia invariati i caratteri strutturali degli URL (/ ? & # = + ecc.) — usalo su un URL completo. encodeURIComponent li trasforma tutti — usalo sul valore all'interno di un parametro query.

Questo strumento usa encodeURIComponent, la scelta più sicura per incorporare testo arbitrario in un URL. Se hai un URL completo con struttura che vuoi preservare, codifica solo le parti che ne hanno bisogno.

Insidie comuni

Segno più negli URL. Alcuni server trattano '+' come uno spazio (un'eredità della codifica dei form). encodeURIComponent lascia '+' invariato, ma un server potrebbe decodificarlo come spazio. Per sicurezza, sostituisci '+' con %2B se lo stai inviando come dato.

Doppia codifica. Codificare una stringa già codificata aggiunge un altro livello (% diventa %25, quindi '%20' diventa '%2520'). Controlla sempre se l'input è già codificato prima di eseguire nuovamente la codifica.

Aumento della lunghezza. I caratteri multi-byte UTF-8 si espandono in 3-4 percent-code ciascuno. Una stringa italiana con caratteri accentati diventa facilmente molto più lunga come URL.

Domande frequenti

Perché il mio spazio '%20' non viene decodificato in spazio?

Dovrebbe — ma se hai '+' in un URL potrebbe anche rappresentare uno spazio (codifica dei form legacy). Sostituisci + con spazio prima se necessario.

Gestisce gli emoji?

Sì. Gli emoji vengono codificati come le loro sequenze di byte UTF-8 (tipicamente 4 byte / 4 percent-code per emoji).

Qual è la differenza tra la codifica URL e la codifica HTML?

La codifica URL usa la notazione % per i contesti URL. La codifica HTML usa < > ecc. per HTML. Contesti diversi, regole diverse.

Quando devo codificare e quando no?

Codifica qualsiasi valore che va in un parametro query URL, un segmento di percorso contenente input utente o dati di form. Non codificare un URL già costruito — si codificherebbe due volte.

Perché il '%' nel mio testo decodificato causa un errore?

Un '%' nudo seguito da qualcosa che non è esadecimale valido è un percent-encoding non valido. Codifica '%' come '%25' prima di includerlo in un URL.

Il browser lo fa automaticamente?

Sì — quando si costruiscono URL tramite le API URL o URLSearchParams. Questo strumento espone la stessa logica per usi ad hoc.

Quali caratteri sono 'sicuri' e non necessitano di codifica?

Lettere (A-Z, a-z), cifre (0-9) e questi: - . _ ~ . Tutto il resto viene codificato con percent-encoding da encodeURIComponent.

I dati escono dal mio browser?

No. Sia la codifica che la decodifica vengono eseguite localmente.

Strumenti correlati

Ultimo aggiornamento:

Prova i nostri prompt IA →