Codificação

URL Encode/Decode

Codificação e decodificação de URL — caracteres que precisam ser escapados em links e parâmetros de consulta.

URL encoding (percent-encoding) replaces characters that aren't allowed in a URL — spaces, non-Latin letters, special characters — with %XX sequences, where XX is the hex code of the byte. This keeps links and query parameters from getting mangled in transit.

How to use it

Common uses

Things to keep in mind

Encode parameter values, not the whole URL at once — otherwise you'll also encode the separators you need (:, /, ?, &).

JavaScript's encodeURIComponent and encodeURI encode different character sets — the former is meant specifically for parameter values.

Artigo sobre esta ferramenta: URL Encode/Decode: o percent-encoding em links

Perguntas frequentes

Qual a diferença entre codificação Component e URI?

A codificação Component (encodeURIComponent) escapa quase todos os caracteres reservados, sendo adequada para um único parâmetro de consulta ou segmento de caminho. A codificação URI (encodeURI) deixa caracteres como / : ? & = intactos, pois se destina a codificar uma URL inteira que já tem estrutura.

A codificação de URL é a mesma coisa que Base64?

Não, são frequentemente confundidas, mas são técnicas diferentes. A codificação de URL (percent-encoding) substitui caracteres inseguros por sequências %XX e mantém a maior parte do texto ASCII legível, enquanto o Base64 recodifica toda a entrada em um alfabeto compacto — você usaria Base64 seguro para URL para outro propósito, como incorporar dados binários em uma URL.

Esta ferramenta envia minhas URLs para um servidor?

Não. A codificação e decodificação acontecem inteiramente no seu navegador, então nada que você cola aqui é transmitido para lugar nenhum.

O que é codificação dupla e como reconhecê-la?

É um erro em que uma string já codificada é codificada novamente — o caractere % se transforma em %25, e %20 vira %2520. O sinal do problema são sequências como %25XX no resultado decodificado.

Por que o espaço às vezes é codificado como + e às vezes como %20?

O + para espaço é o formato application/x-www-form-urlencoded, usado por formulários e query strings. O %20 é o percent-encoding padrão da RFC 3986, correto em qualquer parte da URL.

Artigos: Codificação

Base64: para que serve a codificação e como funciona

Como o Base64 transforma dados binários em texto ASCII e quando isso é realmente necessário.

Base32: em que difere do Base64 e quando é mais prático

O alfabeto do Base32, que não diferencia maiúsculas de minúsculas, e os casos em que é mais prático que o Base64.

HTML Entities: como exibir caracteres especiais com segurança

Por que os caracteres < > & precisam ser escapados e como isso evita que a marcação quebre.

JWT: a estrutura do token e o que significa "decodificar" um JWT

O header, o payload e a signature de um JWT, e por que decodificar não é o mesmo que verificar a assinatura.

Unicode Escape: o que significam as sequências \uXXXX

De onde vêm sequências como \u0041 em JSON e strings JS, e o que significam.

ROT13 e a cifra de César: substituição simples de caracteres

Por que um deslocamento de 13 letras torna o ROT13 autoinverso, e por que ainda se usa hoje.

Punycode: como os domínios internacionalizados funcionam no DNS

Como um domínio com caracteres não latinos se torna uma forma ASCII com o prefixo xn--.

Código Morse: como o texto se transforma em pontos e traços

O princípio de codificar letras em pontos e traços, e onde o Morse ainda é usado hoje.

Data URI: quando incorporar imagens diretamente no código

Como um Data URI incorpora o conteúdo de um arquivo diretamente em HTML ou CSS, e quando vale a pena.

Gzip + Base64: comprimir dados para transmitir como texto

Por que dados binários comprimidos também são codificados em Base64 antes de irem para um campo de texto.

XML Entities: escapar caracteres em documentos XML

As cinco entidades XML obrigatórias sem as quais o documento quebra ao ser analisado.