¿Qué es la codificación de URL?
La codificación de URL, también llamada codificación porcentual, reemplaza los caracteres que no son seguros en una dirección web con un signo de porcentaje seguido de un código. Un espacio se convierte en %20, un signo y se convierte en %26, y así sucesivamente. Esto le permite poner cualquier texto, espacios, acentos, símbolos en una URL sin dividirla. Esta herramienta codifica texto para un uso seguro en URL y decodifica el texto codificado por porcentaje a un formato legible.
Por que es necesario
Las URL tienen un conjunto limitado de caracteres que pueden contener de forma segura. Cuando coloca un término de búsqueda, un valor de parámetro o un segmento de ruta que incluye espacios, barras, signos de interrogación o letras que no están en inglés directamente en una URL, esos caracteres pueden malinterpretarse y romper el enlace. La codificación los convierte en una representación segura que los servidores y navegadores decodifican correctamente. Cualquiera que cree cadenas de consulta, llamadas API o enlaces mediante programación lo necesita constantemente.
Codificación y decodificación
La codificación toma texto legible y lo hace seguro para URL, lo cual es esencial cuando se construye un enlace o un parámetro de consulta. La decodificación hace lo contrario: convierte una cadena codificada por porcentaje nuevamente en texto legible, lo cual es útil cuando lees una URL que alguien te envió, depuras una llamada API o inspeccionas lo que realmente contiene un parámetro. Esta herramienta hace ambas cosas con un solo clic cada una y maneja correctamente los caracteres acentuados y no ingleses a través de UTF-8.
Situaciones comunes
Construir una URL de búsqueda donde la consulta contenga espacios y símbolos. Pasar un valor que incluye un signo comercial o igual a través de un parámetro de consulta sin romper la estructura de la URL. Leer una URL larga y codificada para comprender a qué apunta. Construir solicitudes de API donde los parámetros deben codificarse. Debido a que se ejecuta en su navegador, puede codificar o decodificar de forma segura valores que contengan datos confidenciales.
¿Qué es la codificación de URL?
La codificación de URL, también llamada codificación porcentual, reemplaza los caracteres que no son seguros o están reservados en una URL con un signo de porcentaje seguido de dos dígitos hexadecimales. Un espacio se convierte en %20, un signo y se convierte en %26, y así sucesivamente. Las URL están limitadas a un pequeño conjunto de caracteres ASCII según el estándar RFC 3986, por lo que cualquier cosa fuera de ese conjunto, espacios, acentos, emoji o símbolos reservados como? & = # cuando se usa como datos, debe codificarse para viajar del navegador al servidor sin romper la estructura de la URL.
codificarURI versus codificarURIComponente
JavaScript ofrece dos funciones de codificación y elegir mal es un error común. encodeURIComponent codifica todo lo reservado y es lo que desea para los valores individuales que ingresa en una cadena de consulta, un término de búsqueda, un valor de parámetro, un destino de redireccionamiento. encodeURI conserva caracteres de estructura de URL como /? & = y está destinado a codificar una URL completa mientras la mantiene funcional. La regla general: use encodeURIComponent para los valores dentro de una URL y encodeURI solo para una URL completa. Esta herramienta codifica componentes, que es lo que necesita la mayor parte del tiempo.
Errores comunes de codificación de URL
Dos errores dominan. La doble codificación ocurre cuando codifica una cadena que ya está codificada, %20 se convierte en %2520, lo que rompe el enlace; solo codifique texto sin formato, nunca una URL ya codificada, y decodifique primero si no está seguro. La otra es la ambigüedad del signo más: en una cadena de consulta, + puede significar un espacio (de la codificación de formulario HTML), pero en una ruta URL es un signo más literal. En caso de duda, utilice %20 para un espacio, que es inequívoco en todas partes. Recuerde también que un valor no codificado & dentro de un valor se interpretará erróneamente como un separador de parámetros, dividiendo sus datos.