Unicode Escape / Unescape
Understand Unicode Escape / Unescape
O escape Unicode reescreve caracteres não ASCII como códigos \uXXXX, para que o texto sobreviva a arquivos, campos e sistemas que só aceitam ASCII puro.
How it works
Todo caractere acima do code point 127 é substituído por uma barra invertida seguida de u e do seu code point em hexadecimal, então o caractere é (U+00E9) vira \u00E9. Caracteres acima de U+FFFF — emoji e a maior parte das escritas históricas — não cabem em quatro dígitos hexadecimais, então a ferramenta emite a forma com chaves do ES2015, \u{1F30D}. Caracteres ASCII ficam exatamente como estavam, o que mantém a saída legível e comparável em diffs.
When to use it
- Colar texto não ASCII em um arquivo .properties do Java ou em um arquivo-fonte cuja codificação você não controla.
- Descobrir qual caractere está de fato em uma string quando dois sósias — um hífen e uma meia-risca, um espaço e um espaço não separável — fazem uma comparação falhar.
- Escrever um regex ou uma fixture de teste em que um caractere invisível precisa ficar visível na página.
- Enviar texto para um sistema legado ou para uma coluna de banco de dados restrita a ASCII.
Watch out for
- A forma com chaves \u{1F30D} é JavaScript válido e JSON inválido. O JSON exige o par substituto \uD83C\uDF0D para o mesmo caractere, então emoji escapado não pode ser colado direto em um arquivo .json.
- O escape não muda a string, só a forma como ela é escrita. Duas strings de aparência idêntica ainda podem diferir — o caractere é pode ser um único code point (U+00E9) ou um e seguido de um acento combinante (U+0065 U+0301) — e o escape é como você enxerga qual dos dois você tem.
- \uXXXX, \xXX e %XX são três coisas diferentes: um code point, um byte e um escape de URL. Misturá-los é fonte rotineira de mojibake.
Frequently Asked Questions
O que são sequências de escape Unicode?
Escapes Unicode representam caracteres pelos seus code points: \u0041 = "A", \u1F600 = 😀. Eles aparecem em literais de string JavaScript, arquivos JSON, arquivos .properties do Java e valores de content em CSS, para representar com segurança qualquer caractere em código-fonte ASCII.
Qual é a diferença entre \u e \u{}?
\uXXXX (4 dígitos hexadecimais) cobre o Basic Multilingual Plane (U+0000–U+FFFF). Caracteres acima de U+FFFF (emoji, símbolos raros) precisam de pares substitutos (duas sequências \uXXXX) ou do escape estendido moderno \u{XXXXXX}, aceito a partir do ES2015.
Onde os escapes Unicode aparecem no código real?
Desenvolvedores usam escapes em padrões regex (\u0041), arquivos .properties do Java, payloads JSON destinados a sistemas que só aceitam ASCII, campos de banco com charset restrito e ao embutir texto em arquivos-fonte cuja IDE não suporta caracteres não ASCII.
How to Use Unicode Escape / Unescape
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.