Encoder e decoder URL

Applica la codifica percentuale al testo per URL e query string, decodifica URL codificati e scomponi qualsiasi URL nelle sue parti con i parametri di query decodificati.

Funziona nel browserNessuna registrazioneNessun caricamento

Codificato

Come usare URL Encode / Decode

  1. Scegli Codifica o Decodifica.
  2. In codifica, scegli Componente per un singolo valore di query o segmento di percorso, URL completo per mantenere la struttura dell'URL, oppure Dati form per application/x-www-form-urlencoded.
  3. Incolla il testo. Il risultato compare subito; gli escape malformati vengono segnalati con la loro posizione.
  4. Incolla un URL completo nel Parser URL per vederne host, percorso, frammento e ogni parametro di query decodificato.

Cos'è la codifica URL?

Gli URL possono contenere solo un insieme limitato di caratteri ASCII (RFC 3986). Tutto il resto, compresi spazi, lettere accentate e caratteri con un significato speciale come &, ? e #, viene scritto come un segno di percentuale seguito da due cifre esadecimali per ogni byte UTF-8. Uno spazio diventa %20 e é diventa %C3%A9.

encodeURIComponent o encodeURI

FunzioneLascia invariatiDa usare per
encodeURIComponentA-Z a-z 0-9 - _ . ~Un singolo valore di query, segmento di percorso o nome di parametro
encodeURIAnche : / ? # [ ] @ ! $ & ' ( ) * + , ; =Un URL intero la cui struttura deve restare intatta

Usare encodeURI su un valore di query è un bug classico: una & dentro il valore non viene convertita, quindi divide il parametro in due. La modalità Componente di questo strumento converte anche ! ' ( ) * per una stretta conformità alla RFC 3986.

%20 o + per gli spazi?

Nei percorsi uno spazio deve essere %20. Negli invii di form HTML (application/x-www-form-urlencoded) e in molte query string, lo spazio si scrive +. In decodifica, attiva Tratta + come spazio per i dati di form e disattivalo quando conta un segno più letterale, come in jane+test@example.com.

Domande frequenti

Perché ottengo “Escape malformato” in decodifica?
Un % deve essere seguito esattamente da due cifre esadecimali. Un simbolo di percentuale letterale, come in “sconto del 50%”, avrebbe dovuto essere codificato come %25. L'errore mostra la posizione della sequenza errata.
Cosa significa “Sequenza di byte UTF-8 non valida”?
I byte non sono stati codificati in UTF-8, spesso perché il testo è stato prodotto da un sistema legacy che usa Latin-1 (ad esempio %E9 per é invece di %C3%A9), oppure la stringa è stata troncata a metà di un carattere.
Devo codificare l'intero URL o solo i parametri?
Codifica ogni nome e valore di parametro separatamente con la codifica Componente, poi uniscili con = e &. Codificare un URL completo in modalità Componente convertirebbe anche :// e lo romperebbe.
La doppia codifica è un problema?
Sì. Codificare una stringa già codificata trasforma %20 in %2520. Se vedi %25 seguito da cifre esadecimali, probabilmente il valore è stato codificato due volte. Decodificalo due volte per recuperare l'originale.

Strumenti correlati