Pourquoi les compteurs de caractères hérités échouent avec l'Unicode moderne, les émojis et les textes multi-scripts
Les utilitaires web de première génération, tels que les compteurs de caractères hérités créés au début des années 2010, reposent sur la propriété primitive `String.prototype.length` de JavaScript. Comme JavaScript encode en interne les chaînes en utilisant des unités de code UTF-16, tout caractère en dehors du plan multilingue de base (BMP) — y compris les émojis modernes, les symboles mathématiques et les idéogrammes CJK rares — est représenté comme une paire de substitution de 2 unités de code. De plus, les émojis composites tels que les icônes de famille ou les modificateurs de teint de peau joints via des Zero-Width Joiners (`U+200D`) peuvent être comptés comme 5 à 11 caractères dans les compteurs obsolètes, provoquant des lectures inexactes de la longueur pour les réseaux sociaux et les bases de données.
Multinook résout ce défaut architectural en implémentant la norme W3C et ECMA-402 `Intl.Segmenter` au niveau du cluster de graphèmes, parallèlement à un analyseur de flux d'octets UTF-8 `TextEncoder`. Chaque caractère perçu par l'utilisateur est compté avec une précision de 100 % tout en exposant simultanément l'empreinte brute en octets UTF-8 et les métriques d'unités de code pour les ingénieurs logiciels et les rédacteurs techniques.

