URL Encoding explicado: Codificação percentual, UTF-8 e caracteres especiais
5 min de leitura
A codificação URL (codificação percentual) converte caracteres especiais num formato que pode ser transmitido pela internet. Espaços viram %20, ampersands viram %26 e caracteres não ASCII são codificados como sequências de bytes UTF-8.
Por que as URLs precisam de codificação
As URLs só podem conter um conjunto limitado de caracteres (RFC 3986): letras, dígitos e alguns caracteres especiais (-._~). Todo o resto precisa de codificação percentual.
Codificações comuns
| Caractere | Codificado |
|---|---|
| Espaço | %20 (ou + em query strings) |
| & | %26 |
| = | %3D |
| ? | %3F |
| # | %23 |
| / | %2F |
| @ | %40 |
Unicode em URLs
Caracteres não ASCII (como café) são primeiro codificados como UTF-8, depois cada byte é codificado com percentual: caf%C3%A9.
Em JavaScript
encodeURIComponent("hello world & café")
// "hello%20world%20%26%20caf%C3%A9"
decodeURIComponent("hello%20world")
// "hello world"
Gere URLs limpas
Evite problemas de codificação usando slugs limpas. O nosso gerador de slugs de URL cria slugs seguros automaticamente.