Codificação

Unicode Escape

Codificação e decodificação de sequências Unicode — caracteres no formato \uXXXX e vice-versa.

A Unicode escape sequence (\uXXXX) writes a character as its code point instead of the character itself — so a string literal in code can contain any Unicode character while the source file itself stays plain ASCII.

How to use it

Common uses

Things to keep in mind

\uXXXX encodes exactly one 16-bit UTF-16 unit, not one visible character — characters outside the Basic Multilingual Plane (most emoji) need two such sequences together (a surrogate pair).

JSON only requires escaping for control characters and a few special characters — escaping every character as \uXXXX isn't required, though it is valid.

Artigo sobre esta ferramenta: Unicode Escape: o que significam as sequências \uXXXX

Perguntas frequentes

O que representa uma sequência de escape \uXXXX?

É um ponto de código Unicode escrito como quatro dígitos hexadecimais, usado em JSON, strings JavaScript e formatos similares para representar um caractere sem digitá-lo literalmente.

Por que alguns caracteres, como emojis, viram duas sequências \u?

Caracteres fora do Plano Multilíngue Básico (caracteres astrais, incluindo a maioria dos emojis) não cabem em uma única unidade \uXXXX de 16 bits, então são representados como um par substituto — duas sequências \uXXXX que juntas codificam um caractere.

Qual a diferença entre o modo "Não-ASCII" e "Todos os caracteres"?

"Não-ASCII" escapa apenas caracteres fora do intervalo ASCII básico, deixando letras, dígitos e pontuação comuns intactos. "Todos os caracteres" escapa tudo, incluindo ASCII, útil para identificar o conteúdo exato dos caracteres.

O que acontece se um par substituto for dividido ao meio?

O resultado é um caractere "órfão" inválido — um código solitário sem seu par. A maioria dos parsers rejeita essa string com erro ou exibe o caractere de substituição "�".

É possível codificar um caractere emoji com apenas um \uXXXX?

Não, se o emoji estiver fora do Plano Multilíngue Básico (e a maioria dos emojis atuais está) — ele sempre precisa de um par substituto formado por duas sequências \uXXXX.

Artigos: Codificação

Base64: para que serve a codificação e como funciona

Como o Base64 transforma dados binários em texto ASCII e quando isso é realmente necessário.

Base32: em que difere do Base64 e quando é mais prático

O alfabeto do Base32, que não diferencia maiúsculas de minúsculas, e os casos em que é mais prático que o Base64.

URL Encode/Decode: o percent-encoding em links

Como caracteres especiais em endereços e parâmetros se tornam sequências %XX.

HTML Entities: como exibir caracteres especiais com segurança

Por que os caracteres < > & precisam ser escapados e como isso evita que a marcação quebre.

JWT: a estrutura do token e o que significa "decodificar" um JWT

O header, o payload e a signature de um JWT, e por que decodificar não é o mesmo que verificar a assinatura.

ROT13 e a cifra de César: substituição simples de caracteres

Por que um deslocamento de 13 letras torna o ROT13 autoinverso, e por que ainda se usa hoje.

Punycode: como os domínios internacionalizados funcionam no DNS

Como um domínio com caracteres não latinos se torna uma forma ASCII com o prefixo xn--.

Código Morse: como o texto se transforma em pontos e traços

O princípio de codificar letras em pontos e traços, e onde o Morse ainda é usado hoje.

Data URI: quando incorporar imagens diretamente no código

Como um Data URI incorpora o conteúdo de um arquivo diretamente em HTML ou CSS, e quando vale a pena.

Gzip + Base64: comprimir dados para transmitir como texto

Por que dados binários comprimidos também são codificados em Base64 antes de irem para um campo de texto.

XML Entities: escapar caracteres em documentos XML

As cinco entidades XML obrigatórias sem as quais o documento quebra ao ser analisado.