ASCII, Unicode e UTF-8: qual a diferença
ASCII é uma tabela antiga com só 128 caracteres (letras sem acento, números, símbolos básicos). Unicode é um padrão muito mais amplo que atribui um número único (ponto de código, ex: U+00E9) para praticamente todo caractere de todo idioma, incluindo emojis. UTF-8 é a forma mais comum de armazenar esses pontos de código Unicode como bytes — caracteres ASCII ocupam 1 byte, acentos e caracteres especiais podem ocupar 2 a 4 bytes.
Para que serve
Útil para depurar problemas de codificação de texto, entender por que um caractere aparece "quebrado" (mojibake) em um sistema, ou verificar o tamanho real em bytes de uma string.
Perguntas frequentes
Por que um acento vira caracteres estranhos às vezes?
Geralmente porque o texto foi salvo em UTF-8 mas está sendo lido como se fosse outra codificação (como ISO-8859-1), fazendo os bytes multi-byte do UTF-8 serem interpretados errado.
Todo caractere ASCII também é UTF-8?
Sim — os primeiros 128 caracteres do UTF-8 são idênticos ao ASCII, ocupando 1 byte cada.