La codificación URL reemplaza caracteres ASCII inseguros con un "%" seguido de dos dígitos hexadecimales. Los caracteres alfanuméricos estándar se mantienen intactos.
Sí. Tu navegador ejecuta la lógica localmente a través de la API estándar encodeURIComponent API. No se envían datos a servidores externos.
Porque las URLs solo pueden enviarse por Internet usando el conjunto de caracteres ASCII. Además, caracteres especiales tienen funciones en el protocolo (como ? para consultas).
encodeURI está diseñado para codificar una URL completa manteniendo intactas estructuras como "/" y ":". encodeURIComponent es para parámetros donde incluso esos separadores deben escaparse.
Sí, los espacios se convierten correctamente a %20. Usamos APIs estándar del navegador para asegurar la máxima compatibilidad.