Informações de Caractere Unicode
Digite qualquer caractere para ver seu código Unicode, decimal, hexadecimal, binário, octal e entidade HTML — instantaneamente.
Digite qualquer caractere — letra, símbolo, acento ou emoji — para ver suas informações Unicode.
O que é Unicode?
Unicode é o padrão universal para codificação de texto. Ele atribui um número único — chamado de code point — para cada símbolo usado em todos os idiomas do mundo: letras latinas, cirílicas, árabes, chinesas, símbolos matemáticos, emojis e muito mais.
Atualmente o Unicode define mais de 149.000 caracteres em mais de 160 sistemas de escrita.
ASCII vs Unicode
ASCII foi o primeiro padrão de codificação amplamente adotado, criado nos anos 1960. Ele define apenas 128 caracteres (0–127): letras latinas sem acento, dígitos, pontuação básica e caracteres de controle. Era suficiente para o inglês, mas não para outros idiomas.
Unicode surgiu para resolver isso. Ele mantém compatibilidade com ASCII (os primeiros 128 code points são idênticos) e adiciona todo o resto. Isso significa que o caractere A tem o code point U+0041 em ASCII e em Unicode — são equivalentes.
Code points e planos Unicode
Um code point é simplesmente o número que identifica um caractere no padrão Unicode. Eles são escritos como U+XXXX em hexadecimal.
O Unicode está dividido em 17 planos de 65.536 caracteres cada:
| Plano | Faixa | Conteúdo |
|---|---|---|
| 0 (BMP) | U+0000–U+FFFF | Maioria dos idiomas modernos |
| 1 | U+10000–U+1FFFF | Emoji, escrita histórica |
| 2 | U+20000–U+2FFFF | CJK estendido |
A maioria dos caracteres do dia a dia está no Plano Básico Multilíngue (BMP) — plano 0.
Representações numéricas
Para o mesmo caractere, existem várias formas de expressar seu código:
| Representação | Exemplo para “A” | Descrição |
|---|---|---|
| Unicode ID | U+0041 | Notação padrão Unicode |
| Decimal | 65 | Base 10 |
| Hexadecimal | 0x0041 | Base 16, comum em programação |
| Octal | 101 | Base 8 |
| Binário | 01000001 | Base 2 |
| Entidade HTML | A | Para uso em HTML |
| Entidade HTML (hex) | A | Variante hexadecimal em HTML |
Entidades HTML
Entidades HTML permitem inserir qualquer caractere em um documento HTML sem depender de codificação do arquivo. São especialmente úteis para:
- Caracteres reservados em HTML como
<(<),>(>),&(&) - Símbolos especiais que podem não existir no teclado
- Garantir compatibilidade em sistemas mais antigos
Exemplos de caracteres interessantes
| Caractere | Unicode | Categoria |
|---|---|---|
| ç | U+00E7 | Latin Extended |
| € | U+20AC | Símbolo de moeda |
| ∑ | U+2211 | Símbolo matemático |
| 中 | U+4E2D | CJK (Chinês) |
| 😀 | U+1F600 | Emoji |
| ñ | U+00F1 | Latin Extended |
Perguntas frequentes
O que é UTF-8 e UTF-16?
Unicode define os code points, mas não especifica como armazená-los em bytes. UTF-8 e UTF-16 são encodings — formas de representar code points em bytes.
- UTF-8 usa 1 a 4 bytes por caractere. É compatível com ASCII e é o encoding dominante na web.
- UTF-16 usa 2 ou 4 bytes. É usado internamente pelo JavaScript e Java.
Por que emojis podem ter 2 “caracteres” em JavaScript?
JavaScript representa strings em UTF-16. Caracteres fora do BMP (code points acima de U+FFFF), como emojis, precisam de dois valores de 16 bits chamados surrogate pairs. Por isso "😀".length retorna 2 em JavaScript, mesmo sendo um único caractere. Esta ferramenta usa codePointAt(0) para obter o code point real.
Qual a diferença entre code point e code unit?
Um code point é o número do caractere no padrão Unicode (ex: U+1F600 para 😀). Um code unit é a unidade de armazenamento do encoding — 8 bits em UTF-8, 16 bits em UTF-16. Um code point pode exigir múltiplos code units.