Conversor de escapes Unicode

Transforme texto em escapes \uXXXX ou referências HTML em base decimal ou hexadecimal. A decodificação reconhece as três notações no mesmo texto, independentemente do formato selecionado. A ferramenta trabalha com representações de caracteres, não com bytes UTF-8.

Funciona localmente no seu navegador

Escolha a representação antes de codificar

Cole o texto no campo de entrada. O processamento acontece no navegador sem enviar o conteúdo em solicitações de rede. Não há envio de arquivos nem modo em lote.

  1. Selecione escapes Unicode, referências decimais ou referências hexadecimais e clique em Codificar texto.
  2. Para ler sequências já codificadas, use Decodificar sequências. O comando reconhece os três formatos juntos, sem depender da opção selecionada.
  3. Copie a saída. Alterar o texto ou o formato, ou ocorrer um erro, apaga o resultado anterior e desativa a cópia. Limpar esvazia os campos sem mudar o formato. Para converter o resultado novamente, cole-o na entrada.

UTF-16 não é uma lista de pontos de código

Escapes com quatro dígitos, referências sem largura fixa

O modo Unicode escreve cada unidade de código UTF-16 como \u e exatamente quatro dígitos hexadecimais minúsculos, sem aspas externas. A vira \u0041, Ā vira \u0100 e uma quebra LF real vira \u000a. Para 😀, são necessárias duas unidades: \ud83d\ude00.

Já as referências usam pontos de código completos. A你😀 produz A你😀 em decimal ou A你😀 em hexadecimal. As letras dos dígitos hexadecimais saem em maiúsculas, e a quantidade de dígitos varia. Letras e espaços também são codificados.

Uma leitura para as três formas

O decodificador procura \u com u minúsculo e quatro dígitos hexadecimais, além de referências numéricas com ponto e vírgula final. As hexadecimais aceitam &#x ou &#X; os dígitos aceitam maiúsculas e minúsculas. A entrada mista \u0041你😀 resulta em A你😀.

Sequências criadas durante a substituição não são lidas de novo: \u005cu0041 vira o texto literal \u0041, e A vira A, não A. Isso não equivale a interpretar uma string JavaScript ou um documento JSON completo. Código não é executado, e a saída aparece como texto, não como HTML.

Regras HTML apenas nos caminhos numéricos

O he 1.2.0 usa validação HTML estrita ao gerar referências numéricas e ao decodificá-las. Essa validação não se aplica aos escapes Unicode: NUL, U+0080 e U+FFFF podem ser codificados nesse modo e recuperados por \u, mas são rejeitados na codificação numérica. Todos os modos de codificação rejeitam substitutos isolados; a saída decodificada também não pode contê-los.

\uD83D\uDE00 recupera 😀. As referências �� são rejeitadas, pois valores substitutos não formam um par nesse formato. �, € e � também causam erro.

Dúvidas sobre a conversão Unicode

O que acontece com sequências não reconhecidas?

Elas permanecem como texto: \uZZZZ, \u{41}, \U0041, \n, &, &#xZZ; e &#65 sem ponto e vírgula são exemplos. Uma lista como 65 66 também não é interpretada. Isso não impede que uma referência numérica reconhecida cause erro de validação.

Espaços e quebras de linha mudam?

Não há remoção de espaços nas extremidades nem normalização Unicode. Entrada vazia gera saída vazia. O campo de texto converte quebras CRLF e CR reais em LF. No núcleo, CR pode virar 
 ao codificar, mas a decodificação numérica estrita rejeita 
. Portanto, nem toda entrada faz uma ida e volta exata.

Ferramentas recentes: