Skip to main content
CheckTown
Conversores

Codificação e decodificação de URL: Torne URLs seguras para a web instantaneamente

Publicado 5 min de leitura
Neste artigo

O Que É a Codificação de URL?

A codificação de URL (também chamada de codificação por percentagem) converte caracteres que são inseguros ou reservados em URLs para um formato seguro. Cada caractere inseguro é substituído pelo símbolo % seguido do seu código ASCII hexadecimal de dois dígitos. Por exemplo, um espaço torna-se %20 e um ampersand torna-se %26.

As URLs só podem conter um conjunto limitado de caracteres ASCII. Caracteres fora desse conjunto — incluindo espaços, letras não ASCII e símbolos especiais — devem ser codificados por percentagem para serem transmitidos com segurança numa URL.

Como Funciona a Codificação de URL

O codificador identifica caracteres que não são seguros em URLs e substitui-os pelos seus equivalentes codificados por percentagem.

  • Deteção de caracteres seguros — letras, dígitos e - _ . ~ permanecem inalterados
  • Tratamento de caracteres reservados — ! * ' ( ) ; : @ & = + $ , / ? # [ ] são codificados na maioria dos contextos
  • Suporte a Unicode — caracteres não ASCII são primeiro codificados em UTF-8 e, em seguida, cada byte é codificado por percentagem

Experimente gratuitamente — sem cadastro

Codificar ou Descodificar uma URL →

Quando Usar a Codificação de URL

A codificação de URL é necessária sempre que caracteres especiais aparecem em componentes de URL.

  • Parâmetros de consulta — codifique valores passados como parâmetros de query string, especialmente termos de pesquisa fornecidos pelo utilizador
  • Pedidos de API — codifique segmentos de caminho e parâmetros ao construir URLs de API de forma programática
  • Dados de formulário — codifique dados de formulário antes de anexar a URLs em pedidos GET

Perguntas Frequentes

Qual é a diferença entre encodeURI e encodeURIComponent em JavaScript?

encodeURI codifica uma URL completa e deixa caracteres como /, :, # intactos porque têm significado estrutural nas URLs. encodeURIComponent codifica um único componente de URL (como o valor de um parâmetro de consulta) e também codifica por percentagem esses caracteres estruturais. Para codificar valores de parâmetros individuais, utilize sempre encodeURIComponent.

Por que um espaço aparece às vezes como + em vez de %20?

O formato application/x-www-form-urlencoded (usado no envio de formulários HTML) codifica espaços como + em vez de %20. Esta é uma convenção legada dos primeiros padrões da web. Em query strings de formulários HTML, + significa espaço; noutros contextos de URL, usa-se %20. Ambos são válidos, mas o contexto determina qual utilizar.

Preciso de codificar a URL inteira ou apenas partes dela?

Codifique apenas os componentes individuais (segmentos de caminho, valores de parâmetros de consulta). Codificar a URL inteira também codificaria os caracteres :, / e ? que definem a estrutura da URL, quebrando-a. A regra é: codifique os valores, não os caracteres estruturais que formam a URL.

Ferramentas relacionadas