Conferir uma string com escapes antigos

Cole o texto no campo. A conversão acontece no navegador, sem envio de arquivos, busca de conteúdo por URL ou processamento em lote. Não adote essas funções em código novo.

  1. Insira o texto original e escolha Codificar (escape), ou cole os escapes e escolha Decodificar (unescape).
  2. Confira a saída como texto e use Copiar resultado. Alterar a entrada apaga a saída anterior.
  3. Para outra operação, cole o resultado na entrada manualmente. Limpar esvazia os dois campos.

O que significam %XX e %uXXXX

A unidade de código define o tamanho do escape

A-Z a-z 0-9 e @ * _ + - . / permanecem inalterados. As demais unidades de código UTF-16 usam %XX para valores menores que 256 e %uXXXX para o restante. A saída tem dois ou quatro dígitos hexadecimais em maiúsculas, com zeros à esquerda; o u é minúsculo.

é vira %E9, 你好 vira %u4F60%u597D e 😀 ocupa duas unidades: %uD83D%uDE00. Já ~, ' e & viram %7E, %27 e %26.

Trechos inválidos não geram erro de decodificação

%u4f60 %GG %U0041 resulta em 你 %GG %U0041. Os dígitos hexadecimais aceitam maiúsculas ou minúsculas, mas o marcador u precisa ser minúsculo. %, %GG e %u123 ficam como texto, sem URIError. Sequências válidas no restante da entrada ainda são decodificadas; não há validação estrita.

UTF-8 e barras invertidas têm outro significado

Decodificar %E4%BD%A0 produz separadamente as unidades U+00E4, U+00BD e U+00A0, não 你. Para componentes de URL em UTF-8, use encodeURIComponent/decodeURIComponent.

Os textos literais \n, \u4F60 e & não mudam na decodificação. A ferramenta não interpreta literais de string JS/JSON, não decodifica entidades HTML nem executa código. Escape não é criptografia.

Dúvidas sobre o formato escape

Como são tratados +, espaços e %20?

+ continua + nos dois sentidos; espaço é codificado como %20. Codificar %20 gera %2520. Decodificar %2520 devolve o texto %20 em uma única passagem, ainda não um espaço. Não é decodificação de formulário.

A entrada sofre alguma limpeza?

Não há remoção de espaços em branco nem normalização Unicode. O textarea do navegador normaliza quebras reais para LF, codificado como %0A, sem preservar os bytes CRLF ou CR originais. Entrada vazia gera saída vazia.

O resultado sempre representa Unicode válido?

Não. escape/unescape aceita substitutos UTF-16 sem par, como %uD800. A exibição ou a área de transferência pode substituí-los; não conte com sua preservação ao copiar e colar. Se as funções nativas estiverem ausentes, a ferramenta avisa e não troca de codificador.

Ferramentas recentes: