Codificador URL
Codifica y decodifica componentes de URL
Acerca de Codificador URL
Codifica texto en formato porcentual con encodeURIComponent de JavaScript y lo decodifica con decodeURIComponent; los caracteres no ASCII, como é o los emojis, se tratan como UTF-8. Dado que también escapa delimitadores de URL como / ? # & y =, está pensado para un solo componente (el valor de un parámetro, un redirect_uri o un segmento de ruta) y no para una URL completa.
Categoría: API.
Preguntas frecuentes
¿Cuándo necesito codificar en URL?
▾
Siempre que un valor que insertas en una URL contenga espacios, letras no ASCII o caracteres con una función especial, como & = + # ? o /. Codificarlos como secuencias %XX hace que se traten como datos literales y no como parte de la estructura de la URL.
¿Cuál es la diferencia entre encodeURI y encodeURIComponent?
▾
encodeURI deja intactos los caracteres que estructuran una URL, como / ? # & y =, así que sirve para una URL completa. encodeURIComponent, la función que usa esta herramienta, también los escapa y solo conserva letras, dígitos y - _ . ! ~ * ' ( ), así que sirve para un único valor de parámetro o segmento de ruta.
¿Por qué un espacio se convierte en %20 y no en +?
▾
Al codificar siempre se genera %20, la forma de RFC 3986 que funciona en cualquier parte de una URL. La forma + solo significa espacio en cadenas de consulta application/x-www-form-urlencoded, y al decodificar el + se conserva, así que reemplaza los + por espacios antes de decodificar datos de formularios.
¿Por qué aparece "Invalid encoded URL string" al decodificar?
▾
La decodificación falla cuando un % no va seguido de dos dígitos hexadecimales, como en 100%, o cuando los bytes no forman UTF-8 válido, como el escape Latin-1 %E9. Para un signo de porcentaje literal, usa %25.