Caractères avec ou sans espaces : quel compte utilise un formulaire
Un formulaire, un profil de candidature, un SMS ou une publication sur les réseaux sociaux compte les caractères de deux façons : avec les espaces, ou sans. Commencez par lire l'intitulé du champ ou son texte d'aide, car ils l'indiquent souvent. S'il n'indique rien, utilisez le compte le plus strict, qui est généralement celui sans espaces. Les emoji et certaines lettres accentuées peuvent aussi compter pour plusieurs caractères dans les systèmes qui mesurent le texte en unités de code ou en octets. Un même texte peut donc passer dans un compteur et échouer dans un autre. Comptez avec un outil qui suit la même règle que le formulaire.
Compteur de motsMon texte dépasse-t-il la limite ?Essayer gratuitementAvec ou sans espaces
- Avec espaces compte chaque caractère tapé, y compris chaque espace, comme un caractère.
- Sans espaces supprime tous les espaces blancs avant de compter, si bien que les mots se collent. Le nombre sans espaces du compteur de mots retire tous les caractères d'espacement, y compris les sauts de ligne, les tabulations et les espaces insécables, puis compte ce qui reste.
« Bonjour monde » compte 14 caractères avec son espace et 12 sans. Un champ qui demande des caractères sans espaces attend le second nombre.
Pourquoi un emoji peut compter pour deux
Un texte a deux longueurs. La première est celle que voit l'utilisateur : un grapheme, c'est-à-dire un caractère visible, même s'il est formé de plusieurs points de code. La seconde est ce que l'ordinateur stocke. La longueur des chaînes en JavaScript, comme dans beaucoup de systèmes plus anciens, compte des unités de code UTF-16. La plupart des lettres valent une unité, mais les caractères hors du plan multilingue de base, dont beaucoup d'emoji, en valent deux. L'emoji pouce levé, U+1F44D, ressemble à un seul caractère mais compte deux unités UTF-16. Un compteur qui utilise les unités de code affichera donc 2.
Le compteur de mots ici compte les caractères visibles, donc le pouce levé vaut 1. Un emoji famille vaut aussi 1, alors qu'il est formé de plusieurs points de code reliés par des jointures de largeur nulle. Un formulaire qui compte les unités de code affichera davantage, et l'écart augmente avec chaque emoji du texte.
Lettres accentuées
La lettre é peut être stockée de deux façons. Sous forme d'un seul point de code, U+00E9, elle vaut une unité partout. Sous forme de la lettre e suivie de l'accent aigu combinant, U+0301, elle compte deux points de code et deux unités. À l'écran, les deux se ressemblent. Un compteur qui compte les points de code ou les unités affichera 2 pour la seconde forme, alors que le compteur de mots affiche 1 pour les deux.
Les limites en octets ajoutent une autre différence. En UTF-8, é occupe deux octets et la plupart des emoji en occupent quatre. Un champ limité en octets peut donc contenir moins de lettres accentuées ou d'emoji que ne le suggère son nombre de caractères. Le compteur de mots n'affiche pas les octets : estimez-les séparément.
Sauts de ligne et caractères invisibles
Dans une zone de texte, un saut de ligne compte pour un caractère. Beaucoup de systèmes stockent pourtant un saut de ligne Windows sous forme de deux caractères, le retour chariot et le saut de ligne, et les formulaires web envoient les sauts de ligne sous cette forme. Un comptage effectué sur le serveur peut donc être plus élevé que ce que montre la zone de texte, d'un caractère par saut de ligne. Comptez le texte tel qu'il sera envoyé, et pas seulement tel que vous l'avez tapé.
Les espaces de largeur nulle se comportent autrement. Le compte sans espaces ne les considère pas comme des espaces : ils restent dans le total et le gonflent. Supprimez d'abord les caractères invisibles. Cet outil conserve les tabulations et les sauts de ligne, et transforme les espaces insécables en espaces normaux, que le compte sans espaces retire ensuite. Le guide sur les caractères invisibles explique d'où viennent ces caractères.
Un même texte, cinq décomptes
Prenons le mot « Café », une espace et un emoji pouce levé, U+1F44D, avec le é stocké en un seul point de code. Selon la mesure, les totaux diffèrent :
| Mesure | Nombre |
|---|---|
| Caractères visibles, avec espaces (compteur de mots) | 6 |
| Points de code | 6 |
| Unités de code UTF-16 (longueur en JavaScript) | 7 |
| Octets UTF-8 | 10 |
| Caractères visibles, sans espaces (compteur de mots) | 5 |
Chaque total est juste pour sa propre mesure. C'est le formulaire qui détermine la mesure à retenir, ce qui rend la règle plus importante que n'importe quel nombre isolé.
Étapes
- Lisez la règle : caractères, octets ou mots, et si les espaces comptent.
- Nettoyez le texte avec supprimer les caractères invisibles, pour que les caractères invisibles ne gonflent pas le compte.
- Collez le texte dans le compteur de mots et lisez les caractères, puis les caractères sans espaces. Les lignes de limites présentent les seuils courants, mais le chiffre à retenir est celui que compte le formulaire.
- Si le formulaire compte les octets, estimez-les séparément, comme expliqué plus haut.
- Si le formulaire affiche son propre compteur en direct, faites confiance à ce chiffre plutôt qu'au vôtre, et utilisez cet outil pour comprendre pourquoi les deux diffèrent.
- Si la règle reste floue, prévoyez une marge. Les limites de nombre de mots traitent de la même question pour les mots et les règles des plateformes.
Cas particuliers
- La règle de la plateforme prime. Si une plateforme a son propre compteur, alignez-vous sur son chiffre plutôt que sur un compte générique.
- Espaces en fin de texte. Un formulaire peut supprimer les espaces en début et en fin de champ, ou non. Une seule espace finale peut modifier le compte d'une unité.
- Texte copié. Un texte copié depuis une page web peut contenir des espaces insécables et des caractères invisibles. Nettoyez-le avec supprimer les caractères invisibles avant de le compter.
Traduit de Version originale anglaise avec l’aide de l’IA.
Commentaires
Aucun commentaire pour l’instant. Soyez le premier.


