Vérificateur de longueur de chaîne
Vérifiez la longueur d'une chaîne en caractères, points de code Unicode, unités de code UTF-16 et octets UTF-8. Définissez une longueur minimale et maximale pour vérifier si elle convient, et obtenez une copie tronquée qui ne coupe jamais un emoji en deux. Fonctionne dans votre navigateur.
Entrée
Sortie
Documentation
Qu’est-ce que la longueur d’une chaîne de caractères ?
La longueur d’une chaîne dépend de ce que vous comptez. Une personne voit des caractères, mais les programmes comptent des points de code, des unités de code UTF-16 ou des octets, et ces nombres diffèrent souvent. L’emoji 👍🏽 ressemble à un seul caractère, mais il correspond à 2 points de code, 4 unités de code UTF-16 et 8 octets UTF-8. JavaScript, Java et C# indiquent les unités de code UTF-16 comme longueur, les bases de données limitent souvent le nombre d’octets, et les champs de formulaire peuvent compter les sauts de ligne comme deux caractères.
Description de l’outil
Cet outil affiche simultanément la longueur d’une chaîne dans quatre unités et la compare à une longueur minimale et maximale. Utilisez-le pour vérifier si un nom d’utilisateur, un titre ou une valeur de base de données respecte une limite, ou pour comprendre pourquoi deux programmes indiquent des longueurs différentes pour un même texte. Si la chaîne est trop longue, vous obtenez une copie tronquée qui respecte la limite sans couper un caractère en deux.
Fonctionnalités
- Compte les caractères, les points de code Unicode, les unités de code UTF-16 et les octets UTF-8
- Vérifie la longueur par rapport à un minimum et un maximum facultatifs, dans l’unité de votre choix
- Indique combien d’unités il reste, combien manquent ou de combien la limite est dépassée
- Tronque une chaîne trop longue sans séparer les emoji, les drapeaux ou les lettres accentuées
- Peut ignorer les espaces en début et en fin
- Peut compter les sauts de ligne comme CR LF, conformément à la manière dont les formulaires HTML les envoient
Fonctionnement
Les caractères sont des clusters de graphèmes, c’est-à-dire les unités qu’une personne lit comme un seul caractère, identifiés grâce à la segmentation de texte Unicode intégrée au navigateur. Les points de code sont les valeurs Unicode présentes dans la chaîne. Les unités de code UTF-16 correspondent à ce que renvoie String.length en JavaScript : les caractères situés en dehors du plan multilingue de base, comme la plupart des emoji, occupent deux unités. Les octets UTF-8 correspondent à la taille de la chaîne encodée en UTF-8. La troncature conserve les caractères entiers jusqu’à ce que le caractère suivant dépasse la longueur maximale.
Conseils
- Pour une limite
VARCHARde MySQL ouvarcharde PostgreSQL, vérifiez la longueur en points de code Unicode. Pour une limite en octets, comme une clé d’index ou un champ de protocole réseau, vérifiez-la en octets UTF-8. - L’attribut
maxlengthd’un champ HTML compte les unités de code UTF-16 : un emoji peut donc en utiliser deux. - Les navigateurs envoient les sauts de ligne des zones de texte sous forme de CR LF. Ainsi, un serveur qui vérifie la longueur peut compter chaque saut de ligne deux fois. Activez l’option CR LF pour obtenir le même résultat.