Por que contadores de caracteres legados falham com Unicode moderno, emojis e múltiplos alfabetos
Utilitários web de primeira geração, como os contadores de caracteres legados criados no início dos anos 2010, dependem da propriedade primitiva `String.prototype.length` do JavaScript. Como o JavaScript codifica strings internamente usando unidades de código UTF-16, qualquer caractere fora do Plano Multilíngue Básico (BMP) — incluindo emojis modernos, símbolos matemáticos e ideogramas CJK raros — é representado como um par de substitutos (surrogate pair) de 2 unidades de código. Além disso, emojis compostos, como ícones de família ou modificadores de tom de pele unidos por Zero-Width Joiners (`U+200D`), podem registrar de 5 a 11 caracteres em contadores desatualizados, gerando leituras incorretas de tamanho para bancos de dados e redes sociais.
O Multinook resolve essa falha estrutural implementando o padrão W3C e ECMA-402 `Intl.Segmenter` no nível de grapheme clusters, acompanhado de um analisador de fluxo de bytes UTF-8 via `TextEncoder`. Cada caractere perceptível pelo usuário é contado com 100% de precisão, enquanto expõe simultaneamente métricas brutas de unidades de código e consumo de bytes UTF-8 para engenheiros de software e redatores técnicos.

