🎯 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 é sempre U+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 de a + ´.

🔗 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