🎯 Unicode
Em poucas palavras
O Unicode é o padrão global de codificação de caracteres que atribui um número único (chamado code point) a cada caractere, símbolo ou emoji de praticamente todos os sistemas de escrita do mundo, independentemente da plataforma, programa ou idioma.
📝 Notas e Desenvolvimento
🧩 O Problema que ele Resolve
Antes do Unicode, existiam centenas de sistemas de codificação diferentes (como ASCII ou ISO-8859-1). Isso causava o famoso “Mojibake” (quando você abre um arquivo e vê símbolos estranhos como é em vez de é), pois cada sistema interpretava os mesmos números como caracteres diferentes.
🔢 Code Points vs. Encodings
É crucial entender a diferença entre o “mapa” e a “implementação”:
- Code Point: É o valor numérico abstrato. Ex: O caractere
Aé sempreU+0041. - Encodings (Codificações): São as formas de transformar esses números em bits para armazenamento.
- UTF-8: A mais comum. Usa de 1 a 4 bytes. É retrocompatível com ASCII.
- UTF-16: Usa 2 ou 4 bytes. Comum em sistemas internos do Windows e Java.
- UTF-32: Usa sempre 4 bytes. Simples para processamento, mas gasta muito espaço.
🌍 Abrangência
- Suporta mais de 150.000 caracteres.
- Inclui alfabetos latinos, cirílicos, ideogramas chineses (CJK), scripts antigos (hieróglifos) e Emojis.
- Caracteres Combinados: Permite criar variações, como o
ásendo a junção dea+´.
🔗 Conexões e Contexto
- Atlas: MdC - Programação
- Notas Relacionadas:
- ASCII: O “avô” do Unicode. O Unicode herdou os primeiros 128 caracteres do ASCII para garantir compatibilidade.
- Desenvolvimento Web: O uso de
<meta charset="UTF-8">no HTML é o que garante que seu site exiba acentos corretamente em qualquer navegador. - Localização (L10n): O Unicode é a base técnica para traduzir softwares para idiomas complexos (árabe, hebraico, japonês).
📚 Referências e Fontes
- Artigo clássico de Joel Spolsky: The Absolute Minimum Every Software DeveloperMust Know About Unicode and Character Sets
- O consórcio que mantém o padrão: Unicode Official Site
- Excelente explicação visual sobre bytes e bits: Computerphile: Unicode (YouTube)