TK TaskKit
Ferramentas para programadores

Codificador URL

Aplica e remove percent-encoding em URLs. Modos component, URI completo e form-urlencoded.

Entrada

encodeURIComponent — codifica tudo exceto A–Z a–z 0–9 - _ . ! ~ * ' ( )

Resultado

As entradas ficam neste dispositivo. Cada ferramenta para programadores no TaskKit corre inteiramente no teu navegador. Tokens, payloads e texto colado não são transmitidos para servidores do TaskKit nem para terceiros.

O que esta ferramenta faz

Aplica e remove percent-encoding em strings para uso em URLs. Suporta tanto modo component (codifica todos os caracteres reservados para que o valor seja seguro dentro de um parâmetro de query ou segmento de path) como modo URL completo (preserva a estrutura de https://host/path?query e codifica apenas as partes que precisam).

Quando usar

  • Construir uma query string à mão e precisar de escapar espaços, e-comerciais e sinais de igual.
  • Descodificar uma URL de redirecionamento que veio embrulhada em %2F e %3D.
  • Comparar a forma codificada de uma URL contra uma allow-list.
  • Produzir um link partilhável limpo a partir de uma string com caracteres não-ASCII.

Como funciona

A codificação component usa encodeURIComponent, que aplica percent-encoding a cada caractere que não seja "unreserved" (A-Z a-z 0-9 - _ . ! ~ * ' ( )). A codificação de URL completo usa encodeURI, que deixa em paz os caracteres estruturais reservados (: / ? # [ ] @). A descodificação usa as funções inversas, com sequências mal formadas sinalizadas como erros em vez de descartadas silenciosamente.

Notas

Porque é que + por vezes descodifica para um espaço? Essa é a convenção application/x-www-form-urlencoded mais antiga, usada em submissões de formulário, não a codificação URL padrão. O RFC 3986 deixa o + em paz. A maioria dos descodificadores só trata + como espaço dentro da query string, nunca no path.

Devo aplicar isto à URL inteira ou só a uma parte? Codifica partes. Se codificares uma URL inteira em modo component, partes o :// e as barras do path. Constrói a URL a partir de pedaços já codificados, ou usa modo URL completo.

Lida com Unicode? Sim. UTF-8 primeiro, depois percent-encoding em cada byte. café torna-se caf%C3%A9.

Ferramentas relacionadas

  • Base64 — mecanismo de escape diferente para binário em texto
  • Formatador JSON — para payloads do corpo em vez de query strings