Liants, sélecteurs et remplisseurs
ZERO WIDTH JOINER (U+200D)
Un caractère invisible qui demande à ses deux voisins d’être dessinés comme un seul. C’est lui qui transforme trois personnes distinctes en un emoji famille, et qui relie les lettres arabes et indiennes qui resteraient sinon séparées.
- Point de code
U+200D- Catégorie
- Liants, sélecteurs et remplisseurs
- Supprimé par défaut
- Quand il est isolé
- Option qui le régit
- Agressif
-a - Peut être porteur
- Oui
D’où il vient
Toutes les séquences d’emoji que vous avez envoyées : 👨👩👧, ce sont trois personnes et deux liants. Dans du texte, il vient de la saisie du persan, du hindi, du malayalam et de l’arabe, du contenu web copié-collé, et de la stéganographie de largeur nulle, où il forme la moitié d’un alphabet à deux symboles avec U+200C.
Pourquoi il compte
C’est le caractère qui rend les nettoyeurs naïfs dangereux. Supprimez tous les U+200D et vous transformez un emoji famille en trois personnes séparées et vous cassez de vrais mots dans une demi-douzaine d’écritures. Laissez tous les U+200D et vous laissez en place le canal caché le plus répandu.
Avant et après
Le même point de code, deux situations. Celui qui sépare « bon » de « jour » est supprimé ; les deux qui tiennent la famille sont conservés, parce que les enlever laisserait trois personnes séparées.
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
Entre deux bases d’emoji, et entre deux lettres d’une même écriture liante — arabe, persan, devanagari, malayalam. Ghostchars le conserve exactement à ces positions et le supprime partout ailleurs.
Comment le supprimer
Un liant isolé — posé entre deux lettres latines — est supprimé par la passe par défaut. Un liant porteur est conservé et signalé comme « conservé, porteur » ; `-a` (agressif) supprime aussi ceux-là, au prix de vos emojis et de votre persan.
Est-ce un filigrane d’IA ?
Utilisé pour cacher des données — ce n’est pas un filigrane
Non. Un liant de largeur nulle entre deux lettres latines est de la contrebande, mais de la contrebande posée à la main : c’est le plus vieux tour de la stéganographie textuelle. À l’intérieur d’un emoji, c’est simplement le fonctionnement des emojis. Ni l’un ni l’autre n’identifie un auteur.
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
Le nettoyage va-t-il casser mes emojis ?
Pas avec les réglages par défaut. Ghostchars regarde les caractères des deux côtés : un liant entre deux bases d’emoji est conservé. Seul `-a` (agressif) les supprime, et l’option le dit.
Et pour un texte persan, hindi ou arabe ?
Un liant entre deux lettres d’une même écriture liante est conservé pour la même raison. Le supprimer changerait la façon dont le mot est dessiné et, dans certains mots, ce qu’il veut dire.
Comment savoir lesquels ont été conservés ?
Chaque trouvaille est listée avec sa ligne, sa colonne et une action : supprimé, remplacé, conservé parce que porteur, ou trouvé mais non ciblé. Rien n’est décidé en silence.
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é.