Começar Enviar um site

Codificador e decodificador de URL

Developer Tools

Aplique codificação percentual a um texto ou recupere o original, escolhendo entre uma URL completa e um único valor de consulta.

Resultado

Resultado —
  • Caracteres de entrada —
  • Caracteres de saída —
  • Bytes de saída — B

Altere qualquer valor e o resultado é atualizado na hora.

Fórmula e regras

  • A codificação percentual escreve cada byte fora do conjunto permitido como um sinal de percentagem seguido de dois dígitos hexadecimais.
  • A space becomes %20, a slash becomes %2F, and the ampersand becomes %26 — the last one matters because & separates query parameters.
  • encodeURI deixa : / ? # & = intactos, para que a estrutura de um link sobreviva, enquanto encodeURIComponent os escapa.
  • A descodificação reverte cada triplete %XX para os bytes UTF-8 originais, pelo que o texto chinês regressa como caracteres nativos.

Exemplos resolvidos

Um valor dentro de uma string de consulta

Entrada a b&c com o âmbito do valor.

Resultado a%20b%26c — the & is escaped so it cannot be read as a second parameter.

O mesmo texto como um URL completo

Entrada a b&c com o âmbito do URL completo.

Resultado a%20b&c — the space is still escaped but & is preserved as a separator.

Descodificar texto chinês

Entrada %E4%BD%A0%E5%A5%BD

Resultado 你好 — três bytes UTF-8 tornam-se três tripletos %XX e a descodificação restaura-os.

Perguntas frequentes

Quando preciso de encodeURIComponent em vez de encodeURI?

Use encodeURIComponent para qualquer valor que coloque depois de ? ou &, porque um & ou = não escapado dentro de um valor dividiria a consulta. Use encodeURI apenas num link completo que já tenha os seus separadores no lugar.

Why does a space sometimes become + instead of %20?

The plus sign belongs to form encoding for application/x-www-form-urlencoded bodies, where it means a space. JavaScript URL functions write %20 instead. This tool reads + as a space when decoding and always writes %20 when encoding, so the two conventions do not collide.

Why do I see %25 in my links?

%25 is an encoded percent sign, which means the text was encoded twice. Encode once at the point where the value is inserted, not again when building the final link.

O que acontece com uma sequência % incompleta?

A decodificação falha, porque % deve ser seguido por exatamente dois dígitos hexadecimais. Esta ferramenta relata o problema em vez de descartar caracteres silenciosamente.

Aviso legal: Os resultados seguem a fórmula apresentada nesta página e são apenas de referência. As quantidades reais variam com os materiais, a técnica e as condições, por isso deixa uma margem antes de encomendar.