Codificador d'URL
Codifica i descodifica URLs
Com usar Codificador d'URL
Codifica i descodifica URLs Eina gratuïta en línia, sense registre, sense anuncis intrusius. Utilitza-la ara.
Per a qué serveix la codificació d'URL?
Les URLs només poden contenir un conjunt limitat de caràcters ASCII. Els caràcters especials — espais, accents, puntuació i caràcters no ASCII — s'han de codificar com a seqüències de percentatge (%XX) per transmetre'ls de manera segura en una URL. Això és especialment rellevant per al català amb els seus nombreosos caràcters accentuats.
- Paràmetres de consulta: Passar l'entrada de l'usuari com a paràmetres d'URL requereix codificació. Una cerca de "cafè a Barcelona" es converteix en
caf%C3%A9%20a%20Barcelonaen la URL — els caràcters especials es substitueixen per la seva representació UTF-8 en hexadecimal. - Peticions d'API: Construir URLs d'API programàticament — codificar els paràmetres antes d'afegir-los a la URL base evita peticions mal formades i vulnerabilitats de seguretat com la injecció de paràmetres.
- Enviament de formularis: Els formularis HTML amb method="GET" codifiquen els valors del formulari en la URL. Entendre aquesta codificació ajuda a depurar l'enviament de formularis i reconstruir els valors originals en analitzar els registres del servidor.
- Compartir enllaços: Compartir URLs que contenen caràcters catalans (é, è, à, ç, ï, l·l) — moltes plataformes els corrompitzen sense codificació adequada, especialment en copiar i enganxar entre sistemes diferents.
- Depuració: Descodifiqueu una URL codificada per llegir els paràmetres originals — útil en inspeccionar les peticions de xarxa en les DevTools del navegador o en els registres del servidor web.
Regles de codificació: Les lletres (A-Z, a-z), els dígits (0-9) i els caràcters -_.~ mai no es codifiquen. Tots els altres es codifiquen com a % seguit de dos dígits hexadecimals que representen els valors de bytes UTF-8 del caràcter.
Frequently Asked Questions
Quina diferència hi ha entre encodeURI i encodeURIComponent en JavaScript?
encodeURI codifica una URL completa — deixa els caràcters estructurals de la URL (/, ?, &, #, :) no codificats perquè tenen significat en la URL. encodeURIComponent codifica tot excepte lletres, dígits i -_.~* — s'utilitza per als valors individuals dels paràmetres. Feu servir sempre encodeURIComponent per als valors dels paràmetres de consulta.
Quina diferència hi ha entre + i %20 per als espais?
Tots dos representen un espai en la codificació d'URL, però en contextos diferents. %20 és correcte per a tots els components d'URL. El signe + representa un espai únicament en application/x-www-form-urlencoded (dades de formulari HTML) — no en segments de ruta.
Per qué la doble descodificació causa problemes?
Si %252F apareix en una URL, codifica %2F (que ell mateix codifica /). Descodificar una vegada dóna %2F. Descodificar dues vegades dóna /. La doble codificació es produeix quan un valor es codifica i després tota la URL es torna a codificar. Això causa problemes de seguretat (atacs de path traversal) quan els servidors descodifiquen les URLs múltiples vegades.
Quins caràcters s'han de codificar en un segment de ruta d'URL?
Els caràcters reservats amb significat especial s'han de codificar en els segments de ruta: espai (%20), # (%23), % (%25), ? (%3F) i altres. La barra / és el separador de ruta — per incloure una barra literal en un segment de ruta, codifiqueu-la com a %2F.
Qué és Punycode i com es relaciona amb la codificació d'URL?
Punycode converteix els noms de domini internacionalitzats (IDN) amb caràcters no ASCII en codificació compatible amb ASCII. 'barcelona.cat' és ASCII directament, però 'münchen.de' es converteix en 'xn--mnchen-3ya.de' en Punycode. És diferent de la codificació percentual — s'aplica específicament als noms de domini.
Codificació URL vs Base64 vs entitats HTML
La codificació URL (codificació percentual) fa que les dades siguin segures per a les URLs. La codificació Base64 fa que les dades binàries siguin segures per als contextos de text (correu, JSON). Les entitats HTML fan que els caràcters especials siguin segurs per a l'HTML: & es converteix en &, < en <. Cadascun resol el mateix problema — representar dades en un conjunt de caràcters restringit — però per a contextos de destinació diferents. Fer servir la codificació incorrecta per al context causa errors de visualització o vulnerabilitats de seguretat.