Largeur nulle et invisibles
ZERO WIDTH SPACE (U+200B)
Un espace sans largeur. Il occupe une position dans la chaîne, marque un endroit où la ligne peut se couper, et ne dessine absolument rien.
- Point de code
U+200B- Catégorie
- Largeur nulle et invisibles
- Supprimé par défaut
- Oui
- Option qui le régit
- Aucune option nécessaire
- Peut être porteur
- Non
D’où il vient
Les systèmes de gestion de contenu et les traitements de texte l’insèrent pour qu’une URL interminable ou une suite ininterrompue d’idéogrammes puisse passer à la ligne. Il arrive aussi avec le contenu web copié-collé, avec les moteurs de gabarits qui en émettent entre deux balises, et avec les outils qui cachent des données exprès : c’est le porteur le plus courant de la stéganographie de largeur nulle.
Pourquoi il compte
Unicode le classe comme contrôle de formatage et non comme espace : il survit au copier-coller, coupe un mot en deux pour un correcteur orthographique, met en échec la recherche exacte et `grep`, et offre à un canal caché un bit par position. « bonjour » et « bonjour » s’affichent à l’identique et ne sont pas égaux.
Avant et après
Deux chaînes au rendu identique. Seule la seconde répond à une recherche sur « bonjour ».
Le caractère est affiché sous forme de pastille étiquetée, pour que vous voyiez où il se place. Dans votre texte, il ne dessine absolument rien.
Quand il est légitime
Uniquement comme indication de coupure dans un texte qui déborderait autrement : une longue URL, un paragraphe en chinois ou en japonais. Rien dans une prose latine n’en a besoin, et HTML dispose de `<wbr>` pour le même travail.
Comment le supprimer
La passe par défaut le supprime. Il n’y a aucune option à activer et aucun contexte dans lequel Ghostchars le conserve.
Est-ce un filigrane d’IA ?
Utilisé pour cacher des données — ce n’est pas un filigrane
Non. U+200B n’est pas un filigrane et aucun grand modèle n’est connu pour l’émettre comme signature. C’est le porteur classique des charges cachées fabriquées à la main : sa présence vous dit que le texte est passé par quelque chose — un CMS, un éditeur, un outil de stéganographie — pas qui l’a écrit, ni quoi.
Un porteur connu de charges volontairement cachées. Quelqu’un l’a mis là exprès, ce qui est une tout autre question que celle de savoir qui a écrit les mots.
Questions
Un espace de largeur nulle se voit-il quelque part ?
Pas au rendu normal : il n’a ni glyphe ni chasse. Il ne devient visible que dans un éditeur hexadécimal, dans un éditeur où l’affichage des caractères invisibles est activé, ou dans un outil comme celui-ci.
Le supprimer va-t-il casser mon texte ?
Non. Supprimer U+200B ne peut qu’enlever une possibilité de coupure de ligne. Cela ne change jamais un mot, un espace, ni aucun caractère que vous voyez.
Pourquoi la recherche échoue-t-elle sur un texte qui en contient un ?
La recherche compare des points de code. Un espace de largeur nulle entre deux lettres fait du mot une chaîne différente de celle que vous avez tapée : la correspondance exacte, les requêtes en base de données et `grep` passent tous à côté.
Vérifier votre propre texte
Collez n’importe quoi dans le nettoyeur pour voir tous les caractères invisibles qu’il contient, avec leur position, leur point de code et ce qui arrive à chacun. Rien n’est envoyé.