Cómo funciona la codificación URL
En las direcciones web solo se permiten pocos caracteres: letras sin acento, cifras y algunos signos. Todo lo demás se codifica. En UTF-8, la ñ está formada por los bytes C3 y B1, por eso se convierte en %C3%B1. Un espacio pasa a ser %20, o + en los formularios.
Codificado
Ni%C3%B1o en M%C3%A1laga
Decodificado
Niño en Málaga
Los códigos URL más frecuentes
%C3%A1= á,%C3%A9= é,%C3%AD= í,%C3%B3= ó,%C3%BA= ú%C3%B1= ñ,%C3%91= Ñ,%C3%BC= ü%C2%BF= ¿,%C2%A1= ¡,%E2%82%AC= €%20= espacio,%2F= /,%3F= ?,%26= &,%25= %
Los sistemas antiguos codifican cada letra con un solo byte de Windows-1252: Espa%F1a en vez de Espa%C3%B1a. Mojibuster también lo reconoce y lo convierte en España.
De dónde viene el texto codificado en URL
- Enlaces copiados: el navegador muestra
wikipedia.org/wiki/Españalegible, pero al copiarlo suele quedarEspa%C3%B1aen el portapapeles. - Formularios y seguimiento: los términos de búsqueda y los parámetros UTM se guardan codificados en registros del servidor y exportaciones de analítica, como
?q=ni%C3%B1o. - Exportaciones y APIs: algunas herramientas de newsletter, webhooks y APIs guardan los valores codificados; en el archivo CSV aparecen entonces códigos en vez de nombres.
- Nombres de archivo: una descarga se llama
Factura%20Mu%C3%B1oz.pdfcuando el servidor no decodifica el nombre.
Códigos y caracteres rotos a la vez
A veces el texto está roto dos veces: %C3%83%C2%B1 es una ñ codificada en URL, es decir, una ñ que primero se leyó mal y después se codificó. Mojibuster decodifica primero los códigos y luego repara la à con tilde. Al final vuelve a aparecer ñ.
La opción Convertir también códigos ya está activada en esta página. También convierte códigos HTML (ñ), códigos de correo (=C3=B1) y secuencias de escape del código de programas (\u00f1). Otros errores de codificación: reparar caracteres UTF-8.
Decodificarlo tú mismo en Excel, JavaScript, Python y PHP
- Excel: solo trae la función para codificar (
ENCODEURLen la versión en inglés), no para decodificar. Lo más fácil: copia la columna, pégala aquí y vuelve a copiar el resultado. Más sobre Excel y los caracteres raros. - JavaScript:
decodeURIComponent("ni%C3%B1o")devuelveniño. - Python:
urllib.parse.unquote("ni%C3%B1o"), ounquote_pluspara datos de formulario con+como espacio. - PHP:
rawurldecode(), ourldecode()para datos de formulario.
Preguntas frecuentes
¿Qué significa %C3%B1?
Es la ñ en codificación URL: los dos bytes UTF-8 C3 y B1, cada uno con un % delante. Del mismo modo, %C3%A1 es á y %C3%A9 es é.
¿Qué significa %20?
Un espacio. En los datos de formulario se usa a menudo +. Mojibuster deja el + como está, porque en un texto normal puede ser un signo más de verdad.
¿Se suben mis enlaces?
No. La conversión se hace por completo en tu navegador. Los enlaces con tokens, correos u otros datos personales no salen de tu dispositivo.
¿Por qué 100% no cambia?
Mojibuster solo convierte secuencias que dan un carácter especial real. 100%, 50 % o un %20 suelto en un texto normal se quedan como están.