Convertitore gratuito

Codificatore URL / Decodificatore

Codifica e decodifica istantaneamente URL e componenti URI nel tuo browser. Gratuito, privato e senza caricamento richiesto.

O

Informazioni su questo strumento

La codifica URL (formalmente codifica percentuale, definita nella RFC 3986) traduce i caratteri che hanno un significato speciale negli URL (spazi, barre, e commerciale, simboli hash) in una forma sicura utilizzando segni di percentuale seguiti da cifre esadecimali. Il carattere spazio diventa %20 (o + in contesti con codifica del modulo), la e commerciale diventa %26 e così via. Senza questa codifica, i caratteri speciali verrebbero interpretati come sintassi dell'URL anziché come dati letterali, interrompendo l'URL o causando comportamenti non desiderati.

Esistono due codifiche correlate ma distinte. La codifica del componente URL standard utilizza caratteri di escape % per tutto ciò che non rientra nel set di caratteri non riservati: A-Z, a-z, 0-9, trattino, carattere di sottolineatura, punto, tilde. La variante con codifica del modulo (application/x-www-form-urlencoded) tratta inoltre gli spazi come segni più e utilizza regole diverse per alcuni altri caratteri. L'encodeURIComponent di JavaScript utilizza la codifica rigorosa del componente; encodeURI utilizza una forma più permissiva che preserva i caratteri della struttura dell'URL.

Questo strumento offre sia la codifica che la decodifica. La modalità di codifica racchiude ogni carattere che richiede l'escape nel formato %HH; la modalità di decodifica inverte la trasformazione. Entrambi vengono eseguiti interamente nel tuo browser utilizzando le funzioni URL JavaScript integrate, quindi nessun dato viene inviato da nessuna parte.

Perché codificare o decodificare gli URL

Ogni volta che i dati vengono inclusi in un URL (parametri della stringa di query, segmenti di percorso contenenti input dell'utente, destinazioni di reindirizzamento) è necessaria la codifica corretta. La mancata codifica produce URL che si interrompono quando compaiono caratteri speciali, perdono i limiti dei parametri nelle stringhe di query (trasformando &x=1 in un parametro separato) o vengono bloccati dai server Web come richieste non valide.

La decodifica è l'inverso: estrarre i dati originali da un URL codificato. Le barre degli indirizzi del browser spesso mostrano gli URL in forma codificata; la decodificazione rivela ciò che era effettivamente inteso. La registrazione, il debug e l'analisi della sicurezza traggono vantaggio dagli URL decodificati che mostrano i parametri e i percorsi originali.

Come usarlo

Incolla una stringa, scegli la direzione.

  1. Scegli codifica o decodifica: La codifica inserisce i caratteri non sicuri nel formato %HH. La decodifica inverte gli escape %HH riportandoli ai caratteri letterali.
  2. Aggiungi testo di input: Incolla la stringa da codificare o decodificare. Per la codifica, si tratta in genere di un valore letterale con spazi, caratteri speciali o contenuto non ASCII. Per la decodifica, si tratta di un URL o di un componente URL contenente escape %HH.
  3. Convertire: Lo strumento applica encodeURIComponent o decodeURIComponent. L'output codificato può essere incorporato in modo sicuro in un URL; l'output decodificato è il valore letterale originale.
  4. Copia o scarica: Usa il risultato ovunque ti serva. I valori codificati si adattano agli URL; i valori decodificati rivelano i dati originali.

Casi d'uso comuni

Dettagli tecnici

encodeURIComponent codifica ogni carattere esterno al set non riservato [A-Za-z0-9-_.~]. Gli spazi diventano %20, i segni più diventano %2B, i segni di uguale diventano %3D e così via. I caratteri esterni all'ASCII vengono prima codificati in UTF-8 e poi ogni byte viene sottoposto a escape %.

encodeURI è più permissivo ed è destinato agli URL completi anziché ai componenti. Non sfugge a /, ?, &, =, # e pochi altri perché questi caratteri hanno un significato nella sintassi dell'URL. Per incorporare i dati dell'utente in un URL, encodeURIComponent è quasi sempre la scelta giusta.

decodeURIComponent inverte %-escape, verificando che ogni escape sia ben formato e che i byte risultanti formino UTF-8 valido. L'input non valido genera un errore anziché produrre spazzatura.

Migliori pratiche

Domande frequenti

Quali caratteri necessitano della codifica URL?
I caratteri riservati (&, =, ?, #, /, :, @) e i caratteri non sicuri (spazi, <, >, {, }, |, ^, ~, [, ], `) devono essere codificati. I caratteri alfanumerici e -_.~ sono sicuri e non necessitano di codifica.
Qual è la differenza tra encodeURI e encodeURIComponent?
encodeURI codifica un URL completo ma conserva i caratteri riservati (://?#). encodeURIComponent codifica tutto tranne -_.!~*'() — usalo per i valori dei parametri di query. Questo strumento offre entrambe le modalità.
Come vengono codificati gli spazi negli URL?
Gli spazi possono essere codificati come %20 (codifica percentuale standard) o + (codifica modulo). %20 è corretto per i percorsi URL, mentre + viene utilizzato nelle stringhe di query dai moduli HTML. Questo strumento utilizza %20 per impostazione predefinita.
Posso codificare i caratteri Unicode?
SÌ. I caratteri Unicode vengono prima codificati in byte UTF-8, quindi ogni byte viene codificato in percentuale. Ad esempio, "日" diventa %E6%97%A5 (tre byte UTF-8, ciascuno codificato in percentuale).
Dovrei usare encodeURI o encodeURIComponent?
Quasi sempre codificaURIComponent. Utilizza encodeURI solo se disponi di un URL completo e desideri preservarne la struttura, cosa generalmente rara poiché crei comunque URL dai componenti.
I miei dati vengono caricati su un server?
No. La codifica e la decodifica degli URL avvengono interamente nel tuo browser.
Gestisce le emoji Unicode?
SÌ. Le emoji sono sequenze UTF-8 multibyte; il codificatore produce una catena di byte con escape % che i decodificatori riassemblano correttamente nell'emoji originale.
Cosa succede se il mio input contiene stringhe dall'aspetto %HH che non sono effettivamente codificate?
La codifica trasforma ogni % in %25, quindi applica nuovamente l'escape per il resto. La decodifica dell'input rigoroso genera errori sugli escape non validi; le stringhe dall'aspetto ambiguo potrebbero essere decodificate in modo errato.