Texto ↔ Binário: por que "á" não vira só 8 bits
A confusão mais comum ao converter texto para binário: assumir que
cada caractere sempre vira exatamente 8 bits (1 byte). Isso é
verdadeiro só para caracteres ASCII (os primeiros 128 valores Unicode —
letras sem acento, números, pontuação básica). Qualquer caractere fora
desse intervalo — acentos (á, ç, ã), símbolos, emojis — é codificado em
UTF-8 usando múltiplos bytes: 2 bytes para a maioria
dos caracteres acentuados latinos, 3 bytes para muitos símbolos e
caracteres de outros alfabetos, até 4 bytes para emojis. Este
conversor usa TextEncoder/TextDecoder nativos
do navegador especificamente para lidar com essa variação corretamente
— a palavra "café" não produz 4 grupos de 8 bits, produz 5, porque o
"é" sozinho ocupa 2 bytes em UTF-8.
Por que essa distinção importa além da curiosidade técnica
Implementações ingênuas que tratam "1 caractere = 1 byte" (comuns em tutoriais introdutórios que só testam com texto em inglês) quebram silenciosamente com qualquer entrada em português com acentuação — produzindo binário corrompido ou truncando caracteres no meio de sua representação de múltiplos bytes. É o mesmo tipo de bug de fundo já discutido na página de Nicks deste site a respeito de truncamento de campo por contagem de bytes: qualquer processamento de texto que assume 1:1 entre caractere e byte falha de forma previsível assim que a entrada deixa de ser puramente ASCII.
Uso em ensino de fundamentos de representação de dados
Além de curiosidade e ofuscação leve, converter texto para binário é
uma ferramenta didática direta para entender como qualquer dado —
texto, imagem, áudio — é, no nível mais baixo, apenas uma sequência de
bits interpretada segundo uma convenção (nesse caso, UTF-8). Comparar
a saída de "A" (ASCII, 1 byte, 01000001) com a de "Á"
(acentuado, 2 bytes) lado a lado é uma forma concreta de visualizar a
diferença entre codificação de caractere único e multi-byte, sem
precisar de nenhuma ferramenta de depuração de baixo nível.