A codificação URL (codificação por cento) é o processo de conversão de caracteres não seguros em URLs para o formato %XX. URLs podem conter apenas um pequeno subconjunto de caracteres ASCII (letras, dígitos, -_.~), todos os outros caracteres (incluindo chinês, espaços, símbolos especiais) devem ser codificados antes de serem transmitidos em uma URL. Por exemplo, espaço é codificado como %20, o caractere chinês '中' como %E4%B8%AD.
**encodeURIComponent vs encodeURI**: Estas são as duas funções de codificação mais usadas. encodeURIComponent codifica mais exaustivamente, incluindo delimitadores de parâmetros como &, =, ?, sendo adequada para codificar valores de parâmetros individuais. encodeURI preserva a estrutura da URL (esquema://, caminho, /, ?, #), sendo adequada para codificar URLs completas. O uso incorreto causa erros de análise de parâmetros.
**RFC 3986 vs padrões antigos**: RFC 3986 trata o til ~ como um caractere seguro que não precisa ser codificado, enquanto padrões iniciais o codificam como %7E. O uso do RFC 3986 reduz escapes desnecessários, melhora a legibilidade da URL e evita problemas de análise de %7E em alguns servidores.
**Modo Query Only**: É usado quando você precisa apenas codificar os valores dos parâmetros de consulta na URL, sem afetar os nomes das chaves, sinais de igual e símbolos &. Por exemplo, ?name=张三 é codificado como ?name=%E5%BC%A0%E4%B8%89, mantendo os nomes das chaves legíveis e codificando apenas os valores.
**Destaque de codificação**: Destaca em tempo real caracteres no formato %XX em cor âmbar para que os usuários vejam de relance quais caracteres foram codificados. Isso ajuda a entender as regras de codificação: letras e números geralmente são caracteres seguros que não são codificados, apenas chinês e símbolos especiais são codificados. Todos os cálculos são feitos localmente no navegador, sem envio de dados.