Qu'est-ce que les caractères confusables ?

Les caractères confusables sont des lettres, des chiffres et des symboles qui se ressemblent presque à l'identique dans de nombreuses polices, mais qui sont en réalité des caractères différents. Par exemple, un « l » minuscule, un « I » majuscule, le chiffre « 1 » et le symbole « | » peuvent être presque indistinguibles dans les polices sans-serif comme Arial ou Helvetica. De même, la lettre majuscule « O » et le chiffre « 0 » sont fréquemment confondus.

Ces ambiguïtés visuelles causent de vrais problèmes. En programmation, utiliser un 0 (zéro) à la place d'un O dans un nom de variable entraîne des bugs extrêmement difficiles à détecter. Dans les contextes de sécurité, les attaquants exploitent les caractères confusables pour créer des URL, des noms d'utilisateur ou des mots de passe trompeurs. Dans l'écriture quotidienne, les lecteurs peuvent mal interpréter des mots ou des codes lorsque des caractères similaires sont échangés.

Contrairement aux homoglyphes — qui impliquent des caractères provenant de scripts différents (comme un « а » cyrillique imitant un « a » latin) — les caractères confusables existent au sein du même ensemble ASCII. Ils font partie de votre clavier quotidien, ce qui les rend encore plus faciles à ignorer.

Description de l'outil

Cet outil analyse votre texte et met en évidence chaque caractère appartenant à un groupe confusable en utilisant des soulignements codés par couleur. Chaque groupe de caractères similaires reçoit sa propre couleur, ce qui facilite le repérage des ambiguïtés potentielles en un coup d'œil. Survolez n'importe quel caractère mis en évidence pour voir son identité exacte, y compris son nom complet et son point de code Unicode.

Vous pouvez sélectionner les groupes confusables à mettre en évidence à l'aide de la liste déroulante multi-sélection, ce qui vous permet de vous concentrer sur les ambiguïtés spécifiques qui importent pour votre cas d'usage.

Exemples

Entrée :

Il1|egal passw0rd: S5Z2B8

Ce qui est mis en évidence :

  • I, l, 1, | — mis en évidence en rouge (groupe l / I / 1 / |)
  • 0 — mis en évidence en bleu (groupe O / 0)
  • S, 5 — mis en évidence en violet (groupe S / 5)
  • Z, 2 — mis en évidence en orange (groupe Z / 2)
  • B, 8 — mis en évidence en bleu-vert (groupe B / 8)

Exemple d'infobulle au survol :

Survoler l affiche : Lowercase L (U+006C) Survoler I affiche : Uppercase I (U+0049)

Fonctionnalités

  • Mise en évidence codée par couleur pour 14 groupes de caractères confusables
  • Infobulles au survol affichant le nom exact du caractère et le point de code Unicode
  • Groupes sélectionnables pour se concentrer sur des ambiguïtés spécifiques
  • Mise en évidence en temps réel au fur et à mesure de la saisie
  • Panneau récapitulatif affichant les groupes détectés et les nombres d'occurrences

Groupes pris en charge

Groupe Caractères Confusion courante
l / I / 1 / | L minuscule, I majuscule, chiffre 1, pipe Plus courant dans les polices sans-serif
O / 0 O majuscule, chiffre 0 Fréquent dans les codes et mots de passe
rn / m r, n, m « rn » ressemble à « m » dans de nombreuses polices
S / 5 S majuscule, chiffre 5 Courbes similaires
Z / 2 Z majuscule, chiffre 2 Similarité des traits diagonaux
B / 8 B majuscule, chiffre 8 Similarité des boucles doubles
G / 6 G majuscule, chiffre 6 Chevauchement de formes courbes
D / O / 0 D majuscule Ressemble à O et 0 dans les polices arrondies
q / g q minuscule, g minuscule Confusion des jambages
cl / d c minuscule, d minuscule « cl » ressemble à « d » avec un crénage serré
vv / w v minuscule, w minuscule « vv » ressemble à « w »
` / ' accent grave, apostrophe Presque identiques dans la plupart des polices
; / : point-virgule, deux-points Diffèrent uniquement par un point ou une virgule
- / – / — trait d'union, tiret demi-cadratin, tiret cadratin Longueurs de tirets variables

Cas d'usage

  • Révision de code : Détectez l'utilisation accidentelle de O à la place de 0 ou de l à la place de 1 dans les noms de variables, les clés API ou les valeurs de configuration
  • Audit de sécurité : Détectez les textes potentiellement trompeurs dans les URL, les adresses e-mail ou le contenu généré par l'utilisateur où les caractères confusables pourraient être utilisés pour l'hameçonnage ou l'usurpation d'identité
  • Typographie et relecture : Vérifiez que les caractères corrects sont utilisés dans les numéros de série, les clés de licence ou tout texte où la précision est importante

Conseils

  • Utilisez une police monospaced dans votre éditeur pour réduire l'ambiguïté visuelle lors de la rédaction de code
  • Si vous ne vous souciez que d'une confusion spécifique (par exemple, l vs 1), désélectionnez tous les autres groupes pour réduire le bruit
  • Survolez n'importe quel caractère mis en évidence pour confirmer son identité exacte via l'infobulle