Codificador/Decodificador de URL
Codifique e decodifique strings de URL instantaneamente.
O texto será codificado em URL (codificação percentual)
O que é Codificação de URL?
Codificação de URL, também conhecida como codificação percentual, é um mecanismo para codificar informações em um Uniform Resource Identifier (URI). Garante que caracteres especiais e caracteres não-ASCII possam ser transmitidos com segurança em URLs sem quebrar a estrutura da URL ou causar erros de análise.
A codificação usa um sinal de percentual (%) seguido de dois dígitos hexadecimais. Por exemplo, um caractere de espaço torna-se %20, e o símbolo @ torna-se %40. Este formato é definido no RFC 3986, o padrão para sintaxe URI.
RFC 3986 especifica quais caracteres são 'reservados' (têm significado especial em URLs) e quais são 'não reservados' (seguros para usar sem codificação). Caracteres reservados devem ser codificados quando usados em partes de uma URL onde têm significado especial.
Quando Usar Codificação de URL
A codificação de URL é essencial em vários cenários:
- Parâmetros de consulta: Valores em strings de consulta de URL (após ?) devem ser codificados para lidar com espaços, caracteres especiais e texto não-ASCII
- Segmentos de caminho: Quando URLs contêm conteúdo gerado pelo usuário ou nomes de arquivo com caracteres especiais
- Caracteres especiais: Caracteres como &, =, ?, # e espaços têm significado especial em URLs e devem ser codificados
- Caracteres internacionais: Caracteres não-ASCII como é, ñ ou caracteres chineses devem ser codificados usando codificação percentual UTF-8
- Formulários HTML: Dados de formulário enviados via método GET são automaticamente codificados em URL na string de consulta
Regras de Codificação de URL
Entender quais caracteres precisam de codificação ajuda você a criar URLs válidas:
Exemplos Comuns de Codificação
Aqui estão exemplos do mundo real de codificação de URL:
Erros Comuns de Codificação de URL
Evite estes erros frequentes ao trabalhar com codificação de URL:
- Codificação dupla: Codificar uma string já codificada resulta em %2520 em vez de %20. Sempre verifique se uma string já está codificada antes de codificar novamente.
- Codificar URLs inteiras: Codifique apenas as partes que precisam de codificação (valores de consulta, segmentos de caminho), não a URL inteira incluindo protocolo e domínio.
- Codificar barras: Barras (/) em caminhos NÃO devem ser codificadas. Codifique-as apenas em valores de parâmetros de consulta.
- Codificar apenas parâmetros de consulta: Lembre-se de que segmentos de caminho com caracteres especiais também precisam de codificação, não apenas strings de consulta.
- Sensibilidade a maiúsculas/minúsculas: Codificação percentual usa hexadecimal maiúsculo (A-F), embora minúsculo (a-f) também seja válido. Seja consistente em sua codificação.
encodeURIComponent vs encodeURI
JavaScript fornece duas funções de codificação com propósitos diferentes:
Codifica quase tudo, incluindo caracteres reservados. Use isso para codificar valores de parâmetros de consulta, dados de formulário ou qualquer string que será parte de um componente de URL.
Codifica o URI mas preserva caracteres que têm significado em URIs (como :, /, ?, #). Use isso ao codificar um URI inteiro que você quer manter funcional.
Guia do Desenvolvedor para Codificação de URL
Melhores práticas para desenvolvimento web:
- urlEncoder.content.developerGuide.javascript
- urlEncoder.content.developerGuide.python
- urlEncoder.content.developerGuide.php
- urlEncoder.content.developerGuide.java
- urlEncoder.content.developerGuide.csharp
Codificação de URL e SEO
Impacto no ranking de busca:
- urlEncoder.content.seoGuide.readableUrls
- urlEncoder.content.seoGuide.slugs
- urlEncoder.content.seoGuide.parameters
- urlEncoder.content.seoGuide.canonical
Ferramentas Relacionadas
urlEncoder.faq.title
urlEncoder.faq.q1.question
urlEncoder.faq.q1.answer
urlEncoder.faq.q2.question
urlEncoder.faq.q2.answer
urlEncoder.faq.q3.question
urlEncoder.faq.q3.answer
urlEncoder.faq.q4.question
urlEncoder.faq.q4.answer
urlEncoder.faq.q5.question
urlEncoder.faq.q5.answer