Unicode Escape / Unescape

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

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

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.