Codificatore/Decodificatore URL FAQ
Codifica e decodifica stringhe URL
Cos'è la codifica URL?
La codifica URL (percent-encoding) converte caratteri speciali in un formato sicuro per gli URL usando % seguito da cifre esadecimali. Lo spazio diventa %20, @ diventa %40. Questo previene che i caratteri vengano interpretati erroneamente come parte della sintassi URL.
Perché gli spazi diventano %20?
Gli spazi non sono consentiti negli URL. %20 è la rappresentazione percent-encoded dello spazio (ASCII 32, hex 20). A volte vedi + nelle query string (codifica legacy di form), ma %20 è più affidabile e universalmente supportato.
Qual è la differenza tra encodeURI e encodeURIComponent?
encodeURI codifica URL completi, lasciando intatti caratteri URL validi come : / ? &. encodeURIComponent codifica valori di parametri, codificando anche caratteri riservati. Usa encodeURIComponent per valori, encodeURI per URL completi.
Devo codificare URL manualmente?
In JavaScript, usa sempre encodeURIComponent() per valori di parametri ed encodeURI() per URL completi. Non codificare manualmente—è soggetto a errori. I browser gestiscono automaticamente la codifica nella barra degli indirizzi.
Cos'è la doppia codifica?
La doppia codifica avviene quando codifichi testo già codificato. %20 (spazio codificato) diventa %2520 (% è codificato come %25). Questo rompe gli URL. Decodifica sempre prima di ricodificare, o traccia lo stato di codifica.
Come gestico caratteri non inglesi negli URL?
I caratteri Unicode vengono codificati come byte UTF-8, poi ogni byte viene percent-encoded. Il carattere ü (UTF-8: C3 BC) diventa %C3%BC. Le funzioni JavaScript moderne gestiscono questo automaticamente.