Saltar para o conteúdo
BCBinary Code Translator
Menu

Conversão Unicode sem execução

Escapar / Restaurar Unicode

Converta texto em pontos de código Unicode, escapes com chaves ou sequências UTF-16 de quatro dígitos e restaure a forma original com validação estrita de pares de substitutos UTF-16.

A ferramenta apenas analisa texto localmente; nunca executa a entrada como JavaScript.

Direção da conversão
0 carateres
0 carateres

A conversão ocorre localmente neste navegador. A entrada não é enviada.

Ainda não há resultado.

Pontos de código, escapes e UTF-16

Unicode atribui um ponto de código a cada caráter abstrato. A notação U+1F600 e o escape \u{1F600} referem-se diretamente ao ponto de código do emoji 😀.

O escape tradicional \uXXXX contém exatamente uma unidade UTF-16. Carateres acima de U+FFFF precisam de duas unidades: um substituto alto seguido de um substituto baixo.

A ferramenta analisa apenas sequências explícitas e nunca usa eval ou new Function. Isto evita transformar texto fornecido pelo utilizador em código executável.

Como converter escapes Unicode

  1. Escolha Codificar para transformar texto em notação Unicode.
  2. Selecione U+, \u{…} ou \uXXXX conforme o formato necessário.
  3. Escolha Descodificar para restaurar tokens Unicode em texto.
  4. Separe tokens U+ e escapes com espaços quando necessário; sequências \uXXXX podem ser adjacentes.
  5. Use o exemplo de emoji para verificar o tratamento de pares de substitutos UTF-16.

Exemplos de escapes e pares de substitutos UTF-16

Os casos mostram BMP, carateres suplementares, três sintaxes e rejeição de substitutos isolados.

Entrada Saída Direção da conversão Notas
A U+0041 Codificar Ponto de código ASCII. Os carateres latinos básicos têm um ponto de código e uma unidade de código UTF-16.
😀 U+1F600 Codificar Ponto de código de emoji. O emoji é um valor escalar Unicode acima do Plano Multilingue Básico.
😀 \u{1F600} Codificar Escape com chaves. A notação com chaves do ECMAScript escreve diretamente o valor escalar completo.
😀 \uD83D\uDE00 Codificar Par substituto UTF-16. A sintaxe de quatro dígitos representa o mesmo emoji com unidades substitutas alta e baixa.
U+4F60 U+597D 你好 Descodificar Descodificar pontos de código chineses. Os tokens de ponto de código podem ser separados por espaços ou vírgulas.
\u0041\u{1F600} A😀 Descodificar Formas de escape mistas. O analisador estrito pode combinar formas suportadas, mas rejeita código-fonte não relacionado.

Sintaxes e validação aceites

A descodificação aceita tokens U+hex, escapes \u{hex} e escapes \u com quatro dígitos. Os espaços podem separar tokens, mas o texto arbitrário misturado não é interpretado como código.

Valores acima de U+10FFFF, pontos no intervalo reservado às unidades substitutas UTF-16 e pares UTF-16 incompletos são rejeitados.

  • Hexadecimal não diferencia maiúsculas e minúsculas.
  • \uXXXX precisa de quatro dígitos exatos.
  • Um substituto alto deve ser seguido por um baixo.
  • Um substituto baixo isolado é inválido.
  • Nenhuma sequência é executada.

Como a conversão trata carateres suplementares

Na codificação, Array.from percorre pontos de código completos em vez de dividir pares de substitutos UTF-16. U+ e \u{…} recebem um token por caráter.

Na forma \uXXXX, pontos acima de U+FFFF são convertidos em duas unidades UTF-16 usando o deslocamento de 0x10000.

Na descodificação, o analisador valida cada token, combina pares de substitutos UTF-16 e chama String.fromCodePoint apenas com valores escalares seguros.

Usos práticos de escapes Unicode

A notação explícita ajuda a inspecionar carateres invisíveis e a trocar dados entre formatos que possuem regras próprias.

Item Descrição
Depuração de texto Distingue espaços, sinais semelhantes e carateres suplementares.
Ficheiros de configuração Alguns formatos exigem escapes específicos para carateres não ASCII.
Testes de software Casos com emoji e pares de substitutos UTF-16 revelam truncamentos.
Documentação técnica U+ fornece uma referência independente de fonte ou renderização.
Análise segura A entrada é analisada como dados e não como código.

Erros e limites Unicode

Um erro comum é tratar uma unidade UTF-16 como se fosse um caráter completo. Isto produz metade de um emoji ou uma unidade substituta isolada.

Outra fonte de erro é confundir escape JavaScript, JSON, CSS e HTML; cada linguagem possui gramática diferente.

  • U+D800 a U+DFFF não são valores escalares isolados.
  • U+110000 está fora do Unicode.
  • \u{…} precisa de uma chaveta de fecho.
  • Texto livre não é executado nem interpolado.
  • Entidades HTML não são escapes Unicode.

Escapes Unicode comparados a entidades e percent-encoding

Escapes Unicode descrevem carateres ou unidades de código. Entidades HTML pertencem ao analisador HTML, e percent-encoding representa bytes em componentes de URL.

UTF-8 é uma codificação de bytes, enquanto \uXXXX expressa unidades UTF-16 em texto.

Item Descrição
Entidades HTML Usam formas como 😀 dentro de HTML.
Percent-encoding Usa bytes UTF-8 como sequências %HH em URLs.
UTF-8 binário Converte pontos de código numa sequência de bytes de tamanho variável.

Perguntas frequentes sobre escapes Unicode

Qual é a diferença entre U+1F600 e \uD83D\uDE00?

O primeiro nomeia um ponto de código; o segundo contém duas unidades UTF-16 que juntas representam o mesmo caráter.

A ferramenta executa escapes JavaScript?

Não. A ferramenta usa um analisador dedicado e nunca avalia código.

Posso misturar \u{...} e U+...?

Sim, na direção de restauração quando os tokens estão bem formados e separados adequadamente.

Porque é que um substituto isolado é rejeitado?

Porque não representa um valor escalar Unicode válido.

A saída \uXXXX sempre usa uma sequência por caráter?

Não. Carateres suplementares precisam de duas sequências.

Isto é o mesmo que HTML escaping?

Não. Entidades HTML seguem outra sintaxe e outro contexto.

Ferramentas relacionadas de codificação e carateres

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE