O que é Codificação de URL? Um Guia Completo sobre Percent-Encoding
A codificação de URL, também conhecida como percent-encoding, é um mecanismo para codificar informações em um Uniform Resource Identifier (URI) sob certas circunstâncias. Ela converte caracteres que não são permitidos em uma URL em um formato seguro usando sinais de porcentagem seguidos por dois dígitos hexadecimais.
Por que a Codificação de URL Existe
A internet foi construída sobre ASCII, que define apenas 128 caracteres. As URLs devem ser transmitidas com segurança por sistemas que podem não lidar corretamente com caracteres não ASCII ou especiais. A codificação de URL garante que qualquer caractere — espaços, caracteres Unicode ou símbolos especiais — possa ser incluído com segurança em uma URL.
Por exemplo:
- Espaço →
%20 @→%40你好→%E4%BD%A0%E5%A5%BD
Caracteres Reservados versus Não Reservados
O RFC 3986 define duas categorias de caracteres em URLs:
Caracteres não reservados (nunca precisam de codificação): A-Z a-z 0-9 - _ . ~
Caracteres reservados (têm significado especial, precisam de codificação quando usados literalmente): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Quando um caractere reservado deve fazer parte dos dados em vez da estrutura da URL, ele deve ser percent-encoded.
Quando Usar Cada Função de Codificação
- encodeURI: Codifique uma URL completa, preservando os caracteres estruturais
- encodeURIComponent: Codifique um único parâmetro de URL ou valor de componente
Usar a função errada é um dos bugs mais comuns no desenvolvimento web. Experimente nosso codificador/decodificador de URL para testar os dois modos.