Présentation de l’outil
Ce compteur présente séparément les points de code Unicode, graphèmes, unités de code UTF-16 et octets UTF-8. La propriété JavaScript string.length ne correspond pas toujours au nombre de caractères perçus.
Mode d’emploi
- Saisissez du texte, des emojis ou des caractères avec accents combinés.
- Consultez les points de code, les caractères sans blancs et les octets UTF-8.
- Comparez graphèmes et unités UTF-16. Un message indique si la segmentation en graphèmes est indisponible.
- Copiez le texte original ou chargez un exemple pour comparer les représentations.
Exemples
- 😀 : 1 point de code Unicode, 2 unités UTF-16 et 4 octets UTF-8.
- 👨👩👧👦 : 7 points de code Unicode, mais 1 graphème si la segmentation grapheme est disponible.
- e suivi d’un accent combiné et le caractère précomposé é se ressemblent, mais comptent respectivement 2 et 1 points de code.
Règles de comptage
Les caractères sont comptés par parcours des points de code, comme avec Array.from. Les unités UTF-16 correspondent à la longueur de la chaîne d’origine ; TextEncoder calcule les octets UTF-8. Le mode grapheme d’Intl.Segmenter compte les graphèmes. Aucune normalisation Unicode n’est appliquée : les encodages distincts des caractères combinés sont conservés. Les retours à la ligne originaux participent aux comptes ; un retour final ajoute une ligne vide. Limite : 2 000 000 unités UTF-16 par saisie.
Usages courants
- Vérifier la taille UTF-8 d’un champ, d’un fichier ou de données d’API.
- Comprendre les différences de longueur causées par les emojis.
- Relier les caractères visibles aux points de code et unités d’encodage.
Confidentialité
Le traitement du texte, la lecture des fichiers, la conversion et l’aperçu s’effectuent localement dans votre navigateur. Votre saisie n’est pas envoyée à un serveur et aucun serveur applicatif, base de données, API en ligne ou CDN tiers n’est utilisé. Votre contenu n’est pas enregistré automatiquement. La copie et le téléchargement s’effectuent également dans le navigateur.
FAQ
Combien de caractères compte un emoji ?
Un emoji simple peut avoir un point de code ; une famille, un drapeau ou une variante de couleur de peau peut en réunir plusieurs. Les graphèmes se rapprochent du nombre de caractères visibles.
Pourquoi la longueur UTF-16 peut-elle être supérieure ?
Un point de code hors du plan multilingue de base utilise une paire de substituts UTF-16, soit deux unités de code.
Les octets UTF-8 indiquent-ils la taille d’un fichier ?
Ils indiquent la taille du texte encodé en UTF-8, sans en-tête supplémentaire, BOM ni métadonnées du système de fichiers.
Les espaces sont-ils comptés ?
Le compte ordinaire inclut les blancs. Le compte sans blancs exclut espaces, tabulations, retours à la ligne et autres blancs Unicode.
Que se passe-t-il sans Intl.Segmenter ?
Les points de code, UTF-16 et UTF-8 restent calculables. Le champ des graphèmes indique qu’un décompte fiable n’est pas disponible.