Sobre esta ferramenta
O que é o percent-encoding
Um URL só pode conter um conjunto limitado de caracteres ASCII, e alguns deles têm uma função: ? inicia a query, & separa os parâmetros, # inicia o fragmento. Qualquer outro carácter, e qualquer carácter reservado usado como simples dado, é escrito como um sinal de percentagem seguido de dois dígitos hexadecimais por cada um dos seus bytes. Um espaço passa a %20, e é, que em UTF-8 ocupa dois bytes, passa a %C3%A9. As regras estão no RFC 3986.
A descodificação faz o inverso. Falha quando um sinal de percentagem não é seguido de dois dígitos hexadecimais, ou quando os bytes escapados não são UTF-8 válido; a ferramenta indica a sequência e onde está.
Que modo usar
Componente é o modo certo para uma única parte de um URL: um valor de query, um segmento de caminho, um URL de redirecionamento passado como parâmetro. Escapa /, ?, & e =, para que o valor não possa ser confundido com a estrutura.
URL completo serve para um endereço completo em que só é preciso corrigir os espaços e os caracteres não ASCII. Deixa intactos os caracteres estruturais, o que também significa que não consegue proteger um valor que os contenha. Escapa também o %, por isso aplicá-lo a um URL já codificado codifica-o duas vezes, e escapa os parênteses retos à volta de um endereço IPv6 no host. Ao descodificar, este modo deixa como estão as sequências de escape dos caracteres estruturais, como %2F e %26.
Formulário é o formato application/x-www-form-urlencoded que os navegadores usam quando submetem um formulário HTML, na query string ou no corpo do pedido, e em que um espaço se escreve +. Ao descodificar, um + só é lido como espaço neste modo.
Como o URL é analisado
Quando a entrada, ou na falta dela a saída, é um URL absoluto, a ferramenta lê-o com o próprio parser URL do navegador, o mesmo que trata os links e o fetch. A tabela lista o esquema, as credenciais, o host, a porta, o caminho e o fragmento, e cada parâmetro da query com a chave e o valor descodificados. O parser normaliza o que lê. Num URL web, por exemplo, passa o esquema e o host a minúsculas, resolve os segmentos . e .. do caminho e aplica percent-encoding a caracteres como os espaços, por isso as partes podem diferir ligeiramente do que foi escrito. Um nome de host internacionalizado num URL http ou https aparece na forma ASCII (Punycode), tal como o parser o guarda.
Se o URL não indicar uma porta e a ferramenta souber qual é a predefinida para o esquema, mostra essa porta, por exemplo 443 para https.