Percent-encoding URL, codifica e decodifica, con supporto di caratteri non-ASCII
La codifica URL (chiamata anche Percent-encoding) è un meccanismo che converte i caratteri speciali in un URL in un % seguito da due cifre esadecimali. Per RFC 3986, un URL può contenere solo un sottoinsieme di caratteri ASCII; altri caratteri (come i caratteri non-ASCII, gli spazi e i simboli speciali) devono essere codificati.
In JavaScript, encodeURIComponent() codifica i parametri di query URL — codifica ogni carattere eccetto A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI() preserva i caratteri strutturali dell'URL (come : / ? # & =).
Scenari comuni di codifica URL includono: codifica dei parametri di richiesta AJAX, gestione di caratteri non-ASCII nei percorsi URL e codifica dei parametri nelle firme OAuth.
Input: Ciao, Mondo! → Output: Ciao%2C%20Mondo!
Input: hello world! → Output: hello%20world!
encodeURI non codifica i caratteri strutturali dell'URL (:/?#&=+@$), quindi è adatto per codificare un URL completo; encodeURIComponent codifica più caratteri ed è adatto per codificare i valori dei parametri di query. Questo strumento usa encodeURIComponent.encodeURIComponent codifica uno spazio come %20. Nel formato application/x-www-form-urlencoded (come l'invio di moduli), gli spazi sono codificati come +. Entrambi sono validi.%XX, incluse lettere e cifre ASCII. È utile in casi speciali, come quando devi nascondere completamente il contenuto dell'URL.