alltools.one
Web Development
2026-02-12
7 min
alltools.one Team
urlencodingweb-developmenthttpapi

Guia de Codificação de URLs: Porquê e Como Codificar URLs

Já se perguntou por que é que os espaços nos URLs se tornam %20 e os "e" comerciais se tornam %26? A codificação de URLs (também chamada percent-encoding) converte caracteres que não são seguros para URLs num formato que os servidores web conseguem compreender.

Por Que a Codificação de URLs é Importante

Os URLs só podem conter um conjunto limitado de caracteres ASCII. Caracteres especiais, espaços e texto não-ASCII precisam de codificação para serem transmitidos com segurança. Sem codificação, os URLs partem de formas imprevisíveis — um espaço pode truncar um URL, um "e" comercial pode ser confundido com um separador de parâmetros.

Experimente o nosso Codificador/Descodificador de URLs para ver como qualquer texto se transforma quando codificado para URLs.

Que Caracteres Precisam de Codificação?

Caracteres Seguros (sem necessidade de codificação)

Letras (A-Z, a-z), dígitos (0-9) e estes símbolos: -, _, ., ~

Caracteres Reservados (codificar quando utilizados como dados)

CarácterCodificadoFunção nos URLs
:%3ASeparador de esquema
/%2FSeparador de caminho
?%3FInício da query string
#%23Identificador de fragmento
&%26Separador de parâmetros
=%3DSeparador chave-valor
+%2BFrequentemente representa espaço
@%40Separador de informação de utilizador
%%25Indicador de codificação

Codificar Sempre

Espaços (%20), caracteres não-ASCII (bytes UTF-8 codificados) e qualquer carácter fora do conjunto seguro.

Codificação de URLs na Prática

Parâmetros de Consulta

O caso de utilização mais comum. Ao construir URLs de pesquisa ou pedidos de API:

https://api.example.com/search?q=hello%20world&lang=en

Dados de Formulário

Formulários HTML com method="GET" codificam os valores dos campos automaticamente. Os espaços tornam-se + na codificação de formulários (ligeiramente diferente do percent-encoding).

Segmentos de Caminho

Nomes de ficheiros e identificadores de recursos nos caminhos de URLs também precisam de codificação. Um ficheiro chamado my report.pdf torna-se my%20report.pdf no URL.

Codificação em Diferentes Linguagens

JavaScript:

encodeURIComponent('hello world & more')
// "hello%20world%20%26%20more"

decodeURIComponent('hello%20world')
// "hello world"

Python:

from urllib.parse import quote, unquote
quote('hello world & more')
# 'hello%20world%20%26%20more'

Erros Comuns

  1. Codificação dupla — Codificar um URL já codificado transforma %20 em %2520
  2. Utilizar encodeURI em vez de encodeURIComponentencodeURI ignora caracteres reservados que são importantes em valores de parâmetros
  3. Não codificar sinais + — Nos URLs, + pode significar espaço. Codifique sinais de mais literais como %2B
  4. Esquecer caracteres não-ASCII — Caracteres Unicode precisam primeiro de codificação UTF-8 e depois de percent-encoding

Perguntas Frequentes

Qual é a diferença entre encodeURI e encodeURIComponent?

encodeURI codifica um URL completo, ignorando caracteres como :, /, ?, #. encodeURIComponent codifica tudo exceto caracteres não reservados — utilize-o para valores individuais de parâmetros de consulta.

Por que é que os espaços por vezes se tornam + e por vezes %20?

A codificação de formulários (application/x-www-form-urlencoded) utiliza + para espaços. O percent-encoding padrão utiliza %20. Ambos são válidos em contextos diferentes.

Recursos Relacionados

Published on 2026-02-12
URL Encoding Guide: Why and How to Encode URLs | alltools.one