JotTools .

O que e codificacao de URL? A codificacao por porcentagem explicada de forma simples

JotTools Team 5 min de leitura
A ferramenta deste guia Abrir Codificar / Decodificar URL

Cole em um navegador um link que contenha um espaco e algo estranho acontece: o espaco vira %20. Esse %20 e a codificacao de URL em acao, e entende-la esclarece toda uma categoria de bugs confusos relacionados a links, formularios e APIs. Este guia explica o que e a codificacao de URL, por que ela existe e quando e preciso codificar em vez de decodificar, escrito para desenvolvedores mas acessivel a qualquer pessoa que trabalhe com links.

Por que as URLs precisam de codificacao

Uma URL so pode conter um conjunto limitado de caracteres: letras, digitos e um punhado de simbolos como hifens, pontos e barras. Todo o resto precisa ser representado de outra maneira.

O problema e que os dados reais estao cheios de caracteres fora desse conjunto. Espacos, pontos de interrogacao, e comerciais, barras, letras acentuadas e emojis aparecem nas coisas que queremos colocar nas URLs, como termos de busca e valores de formulario. Muitos desses caracteres tambem desempenham uma funcao estrutural especial dentro de uma URL, entao inseri-los crus confundiria o que quer que esteja lendo o link. A codificacao de URL e a forma acordada de transportar esses dados com seguranca.

O que a codificacao por porcentagem faz

A codificacao de URL tambem e chamada de codificacao por porcentagem, e o nome descreve o mecanismo com exatidao.

Qualquer caractere que nao seja permitido e substituido por um sinal de porcentagem seguido de dois digitos hexadecimais que representam o valor em bytes desse caractere. Um espaco vira %20. Um e comercial vira %26. Uma barra vira %2F. Um ponto de interrogacao vira %3F.

Assim, a frase fish & chips dentro de uma URL vira fish%20%26%20chips. Os dados sao totalmente preservados, apenas escritos de uma forma que todo navegador e servidor concorda em como ler. Decodificar simplesmente inverte o processo, transformando cada sequencia %XX de volta no caractere original.

Onde isso mais importa: as strings de consulta

A parte de uma URL depois do ? e a string de consulta, e e ali que a codificacao mostra seu valor.

Uma string de consulta e uma lista de pares de chave e valor unidos por & e =, assim:

?city=New%20York&sort=price

Esses caracteres & e = sao estruturais. Eles separam um par do proximo e dividem as chaves dos valores. Por isso, se um valor contiver, ele proprio, um e comercial ou um sinal de igual, ele precisa ser codificado, caso contrario seria confundido com a estrutura da string de consulta e tudo seria interpretado de forma errada. Codificar o valor evita que os dados do usuario e o encanamento da URL sejam confundidos um com o outro.

Quando codificar e quando decodificar

As duas direcoes cobrem dois momentos diferentes na vida de um link.

  • Codifique quando voce esta construindo uma URL a partir de valores brutos: um termo de busca que um usuario digitou, um nome de arquivo, um endereco de e-mail, qualquer coisa que entre em um segmento de caminho ou em um parametro de consulta. Codifique-o primeiro para que os caracteres especiais nao possam quebrar o link.
  • Decodifique quando voce esta lendo uma URL que outra pessoa construiu: ao extrair um valor de uma string de consulta, inspecionar um link de um log ou transformar um endereco cheio de %20 de volta em algo legivel para humanos.

Uma regra pratica rapida: se voce esta prestes a colocar dados dentro de uma URL, codifique-os. Se voce esta tirando dados de uma, decodifique-os.

Como ela difere do Base64

A codificacao de URL as vezes e confundida com o Base64, mas eles resolvem problemas diferentes.

A codificacao por porcentagem foi feita especificamente para URLs e so toca nos caracteres que sao inseguros nesse contexto, deixando legiveis as letras e digitos normais. O Base64, por outro lado, reescreve toda a sua entrada em um alfabeto compacto de letras, digitos e alguns simbolos, o que serve para mover dados binarios por canais que so aceitam texto, nao para criar uma URL limpa. Os dois nao sao intercambiaveis: use a codificacao por porcentagem para tornar um valor seguro para URL, e o Base64 quando precisar representar conteudo binario como texto simples.

Codifique e decodifique no seu navegador

Voce nao precisa procurar codigos hexadecimais na mao. A ferramenta gratuita Codificar/Decodificar URL converte texto para a forma codificada por porcentagem e de volta com um unico clique, para que voce possa preparar um valor de consulta ou ler um link baguncado em segundos.

Como a ferramenta Codificar/Decodificar URL roda inteiramente no seu navegador, nao ha cadastro e nada do que voce cola e enviado para lugar nenhum. Isso a torna segura para links e parametros que possam conter valores sensiveis.

Ferramentas relacionadas

A codificacao raramente anda sozinha, entao vale a pena conhecer alguns vizinhos. Quando voce precisa transportar dados binarios como texto em vez de tornar uma URL segura, a ferramenta Codificar/Decodificar Base64 cuida dessa conversao. Para proteger caracteres como < e & dentro do conteudo de uma pagina web em vez de em links, a ferramenta Codificar/Decodificar HTML faz o escape deles corretamente. E quando uma resposta de API volta como uma string densa de dados, o Formatador de JSON a torna legivel com a indentacao adequada.

A versao curta

A codificacao de URL, ou codificacao por porcentagem, substitui caracteres inseguros por codigos %XX para que espacos e caracteres especiais nao possam quebrar um link, o que importa principalmente dentro das strings de consulta. Codifique ao construir uma URL, decodifique ao ler uma, e recorra ao Base64 apenas quando precisar de binario como texto. Quando voce quiser que seja feito por voce, a ferramenta Codificar/Decodificar URL cuida das duas direcoes no seu navegador.

Experimente Codificar / Decodificar URL agora

Codificador e decodificador de URL online e gratuito. Aplique percent-encoding em query strings ou decodifique %20 de volta para texto direto no navegador.

Abrir Codificar / Decodificar URL

Ferramentas gratuitas relacionadas