Codifica o decodifica URL y cadenas de consulta con codificación porcentual, y desglosa una URL en sus partes y parámetros de consulta.
La codificación de URL sustituye los caracteres que no están permitidos o que tienen un significado especial en una URL por un % seguido de sus bytes UTF-8 en hexadecimal; por ejemplo, un espacio se convierte en %20 y ç en %C3%A7.
encodeURIComponent también codifica caracteres reservados como / ? & = y #, por lo que es la opción correcta para un único valor de consulta o segmento de ruta. encodeURI deja esos caracteres intactos y está pensado para codificar una URL completa sin romper su estructura.
%20 es válido en cualquier parte de una URL. El signo + significa espacio solo en datos application/x-www-form-urlencoded, como los envíos de formularios HTML y la mayoría de las cadenas de consulta, así que activa la opción + cuando trabajes con datos de formularios.
La decodificación falla cuando un % no va seguido de dos dígitos hexadecimales o cuando los bytes no forman UTF-8 válido (por ejemplo, %E7 solo, que es una ç codificada en Latin-1). Corrige el % suelto o codifícalo como %25 y vuelve a intentarlo.