Codificador/Decodificador de URL
Codifica e decodifica URLs.
URL inválida
O que são a codificação e a decodificação de URL
A codificação de URL, também chamada codificação por porcentagem, é o mecanismo que converte numa cadeia ASCII da forma %XX os caracteres que uma URL não pode levar: escritas não latinas e símbolos. Uma URL foi concebida supondo apenas caracteres ASCII, de modo que esta conversão se impõe assim que você passa caracteres multibyte ou caracteres reservados como ? e & na qualidade de valor de parâmetro.
Esta ferramenta codifica e decodifica com um clique a URL ou cadeia informada, e o resultado se copia e se emprega assim mesmo. Ela intervém em toda sorte de trabalhos de desenvolvimento: montar requisições de API, gerar URL de redirecionamento e examinar o conteúdo de uma URL já codificada transmitida por outro sistema.
Como empregá-la
- Informe a cadeia a converter Cole no campo de entrada um texto com caracteres não latinos, ou uma URL já codificada.
- Escolha codificar ou decodificar Escolha codificar para levar uma cadeia comum à notação por porcentagem, ou decodificar para restituir a notação por porcentagem.
- Confira o resultado A cadeia convertida aparece no ato.
- Copie o resultado e empregue-o Você pode colá-lo diretamente no parâmetro de consulta de uma requisição de API ou numa URL de redirecionamento.
Dicas para aproveitar melhor
- O caractere japonês「あ」é codificado como
%E3%81%82em UTF-8. - Um espaço pode se tornar
%20em caminhos de URL ou+em parâmetros de consulta (diferença entre RFC 3986 e a especificação de formulários HTML). - Caracteres reservados como
?,&e=devem ser codificados quando usados como valores de parâmetros. - Útil ao incluir caracteres não ASCII em parâmetros de consulta de APIs REST ou ao passar URLs de redirecionamento com segurança.
Quando é útil
Montar os parâmetros de consulta de uma API REST
Empregue-a quando quiser incluir sem risco palavras-chave ou valores de entrada livre numa cadeia de consulta.
Montar uma URL de redirecionamento
Quando você incrusta uma URL de destino como parâmetro dentro de outra URL, a codificação previne qualquer choque com os separadores.
Examinar uma URL recebida de outro sistema
Decodifique uma URL repleta de notação por porcentagem transmitida por um log ou um serviço externo e lerá os valores reais dos parâmetros.
Criar links para e-mails e para compartilhar em redes
Você pode incorporar texto sem risco a um link mailto com assunto e corpo, ou a uma URL para compartilhar em redes sociais.
O vocabulário empregado aqui
- Codificação por porcentagem
- Um procedimento que converte um caractere na sua sequência de bytes UTF-8 e exprime cada byte com um sinal de porcentagem seguido de dois dígitos hexadecimais. Representa sem risco os caracteres que uma URL não pode levar.
- Caracteres reservados
- Símbolos como ?, &, =, # e + que servem para delimitar a estrutura de uma URL. Devem ser codificados quando figuram num valor de parâmetro.
- Caracteres não reservados
- Os caracteres alfanuméricos e os quatro símbolos -, _, . e ~. A RFC 3986 estabelece que não requerem codificação.
- RFC 3986
- A norma da internet que estabelece a sintaxe de um URI. As regras da codificação por porcentagem são definidas ali também.
- application/x-www-form-urlencoded
- O formato de codificação empregado ao enviar um formulário HTML. Ele se afasta da norma URI ao converter um espaço num sinal de mais em vez de em %20.
Perguntas frequentes
%XX, seguro para uso em URLs. Decodificar reverte esse processo de volta ao texto original legível.%20 em caminhos de URL (conforme RFC 3986). Use + apenas em query strings application/x-www-form-urlencoded (dados de formulários HTML). Na dúvida, %20 é a escolha mais segura.- _ . ~ — podem aparecer em URLs sem codificação. Todos os demais, incluindo caracteres reservados como & e =, devem ser codificados quando usados como valores de parâmetros.
Curiosidade — O nascimento da URL: Tim Berners-Lee e o alvorecer da World Wide Web
A URL foi projetada em 1991 por Tim Berners-Lee, o inventor da World Wide Web. Originalmente concebida apenas para caracteres ASCII, caracteres multibyte (como o japonês) e caracteres especiais precisam ser representados por codificação percentual.
A URL da primeira página web da internet, http://info.cern.ch/hypertext/WWW/TheProject.html, ainda está acessível hoje. Domínios com emoji (ex.: 🍕.ws) são tecnicamente possíveis e são convertidos internamente para Punycode (formato que começa com xn--). Embora URLs possam teoricamente ultrapassar 2.000 caracteres, os limites práticos de navegadores e servidores ficam em torno de 2.048 caracteres.
O RFC 3986 define a especificação de URL, mas a distinção entre %20 (espaço) e + (espaço) ainda é fonte de confusão frequente. %20 é o padrão URI; + é usado no formato application/x-www-form-urlencoded de formulários HTML — a escolha depende do contexto.