Como funciona a codificação de URL
Endereços da web aceitam poucos caracteres: letras sem acento, números e alguns sinais. Todo o resto é codificado. Em UTF-8, o ç é formado pelos bytes C3 e A7 e por isso vira %C3%A7. Um espaço vira %20, ou + em formulários.
Codificado
Promo%C3%A7%C3%A3o em S%C3%A3o Paulo
Decodificado
Promoção em São Paulo
Os códigos de URL mais comuns
%C3%A1= á,%C3%A9= é,%C3%AD= í,%C3%B3= ó,%C3%BA= ú%C3%A3= ã,%C3%B5= õ,%C3%A7= ç,%C3%AA= ê,%C3%A2= â%C3%A0= à,%C2%BA= º,%E2%82%AC= €%20= espaço,%2F= /,%3F= ?,%26= &,%25= %
Sistemas antigos codificam cada letra com um único byte do Windows-1252: S%E3o em vez de S%C3%A3o. O Mojibuster também reconhece isso e transforma em São.
De onde vem o texto codificado em URL
- Links copiados: o navegador mostra
wikipedia.org/wiki/São_Paulode forma legível, mas ao copiar costuma irS%C3%A3o_Paulopara a área de transferência. - Formulários e rastreamento: termos de busca e parâmetros UTM ficam codificados em logs do servidor e exportações de analytics, como
?q=promo%C3%A7%C3%A3o. - Exportações e APIs: algumas ferramentas de e-mail marketing, webhooks e APIs salvam os valores codificados; no arquivo CSV aparecem então códigos em vez de nomes.
- Nomes de arquivo: um download se chama
Nota%20Jo%C3%A3o.pdfquando o servidor não decodifica o nome.
Códigos e acentos quebrados ao mesmo tempo
Às vezes o texto está quebrado duas vezes: %C3%83%C2%A7 é um Ã\ codificado em URL, ou seja, um ç que primeiro foi lido errado e depois codificado. O Mojibuster decodifica primeiro os códigos e depois corrige o à com til. No fim, volta a aparecer ç.
A opção Converter também códigos já está ativada nesta página. Ela também converte códigos HTML (ç), códigos de e-mail (=C3=A7) e sequências de escape de código de programação (\u00e7). Outros erros de codificação: corrigir caracteres UTF-8.
Decodificar você mesmo no Excel, JavaScript, Python e PHP
- Excel: só existe a função para codificar (
ENCODEURLna versão em inglês), não para decodificar. O mais fácil: copie a coluna, cole aqui e copie o resultado de volta. Veja também Excel com acentos errados. - JavaScript:
decodeURIComponent("S%C3%A3o")retornaSão. - Python:
urllib.parse.unquote("S%C3%A3o"), ouunquote_pluspara dados de formulário com+como espaço. - PHP:
rawurldecode(), ouurldecode()para dados de formulário.
Perguntas frequentes
O que significa %C3%A7?
É o ç em codificação de URL: os dois bytes UTF-8 C3 e A7, cada um com um % na frente. Da mesma forma, %C3%A3 é ã e %C3%A9 é é.
O que significa %20?
Um espaço. Em dados de formulário, muitas vezes aparece + no lugar. O Mojibuster mantém o +, porque em um texto normal ele pode ser um sinal de mais de verdade.
Meus links são enviados?
Não. A conversão acontece inteiramente no seu navegador. Links com tokens, e-mails ou outros dados pessoais não saem do seu dispositivo.
Por que 100% não muda?
O Mojibuster só converte sequências que resultam em um caractere especial de verdade. 100%, 50 % ou um %20 solto em um texto normal ficam como estão.