1. O Que e Unicode
Unicode e um padrao internacional de codificacao de caracteres que tem como objetivo representar todos os sistemas de escrita do mundo. Diferente de codificacoes antigas como ASCII (limitada a 128 caracteres) ou ISO-8859-1 (256 caracteres), o Unicode pode representar mais de 1,1 milhao de code points.
Cada caractere recebe um identificador unico chamado "code point", representado na forma U+XXXX. Por exemplo, a letra "A" e U+0041, o simbolo do coracao e U+2665 e o emoji de rosto sorridente e U+1F600.
2. Breve Historia do Unicode
O Unicode foi proposto em 1988 por Joe Becker, Lee Collins e Mark Davis. A primeira versao (Unicode 1.0) foi publicada em 1991 com 7.161 caracteres. A versao atual (Unicode 15.1) contem mais de 149.000 caracteres cobrindo 161 scripts diferentes.
O consorcio Unicode e uma organizacao sem fins lucrativos que mantem o padrao. Empresas como Apple, Google, Microsoft, Meta e Adobe sao membros e contribuem para o desenvolvimento.
3. UTF-8, UTF-16 e UTF-32
Unicode define os code points, mas a forma como sao armazenados em bytes depende da codificacao:
- UTF-8: Codificacao de largura variavel (1 a 4 bytes). Compativel com ASCII. E o padrao da web — mais de 98% dos sites usam UTF-8.
- UTF-16: Usa 2 ou 4 bytes. Padrao interno do JavaScript e Java. Caracteres acima de U+FFFF usam "surrogate pairs".
- UTF-32: Largura fixa de 4 bytes. Simples mas desperdiça espaco. Usado internamente por Python 3.
"UTF-8 e a codificacao padrao da web e a escolha recomendada para a maioria dos casos de uso."
4. Unicode em HTML e CSS
Em HTML, voce pode inserir caracteres Unicode de varias formas:
- Entidade decimal:
♥resulta em ♥ - Entidade hexadecimal:
♥resulta em ♥ - Entidade nomeada:
♥resulta em ♥ - Direto no HTML: Basta colar o caractere se o documento usa UTF-8
Em CSS, use a notacao de escape para a propriedade content: content: "\2665";
5. Unicode em Linguagens de Programacao
- JavaScript: Use
\u2665para BMP ou\u{1F600}(ES6+) para qualquer code point - Python: Use
\u2665(BMP) ou\U0001F600(completo). Python 3 trata strings como Unicode nativamente - Java/C#: Use
\u2665para BMP. Para supplementary characters, use surrogate pairs - Go/Rust: Use
\u{2665}. Ambas as linguagens usam UTF-8 nativamente para strings
6. Perguntas Frequentes
Quantos caracteres tem a base de dados desta ferramenta?
A ferramenta inclui mais de 500 caracteres cuidadosamente selecionados nas categorias mais uteis: emojis, setas, simbolos matematicos, moedas, pontuacao, Latin estendido, grego e cirilico.
Como funciona a busca?
Voce pode buscar por nome em ingles (ex: "heart", "arrow"), por code point (ex: U+2665 ou 2665), por numero decimal, ou colar diretamente um caractere. A busca funciona 100% no seu navegador.
Os favoritos sao salvos?
Sim, os favoritos sao salvos no localStorage do seu navegador. Eles persistem entre sessoes mas sao especificos do navegador e dispositivo.