Aller au contenu
Ghostchars

Largeur nulle et invisibles

NONCHARACTERS (U+FDD0-U+FDEF)

Des points de code qu'Unicode a réservés à jamais pour qu'ils ne soient jamais des caractères : U+FDD0-U+FDEF, plus les deux derniers points de code de chaque plan (U+FFFE, U+FFFF, U+1FFFE, et ainsi de suite).

Plage
U+FDD0-U+FDEF
Autres notations
ufdd0-ufdef
Supprimé par défaut
Oui
Option qui le régit
Aucune option nécessaire
Peut être porteur
Non

Pas de bouton copier-coller sur cette page, et c'est voulu : elle décrit un bloc de caractères et non un seul, et aucun d'eux n'a besoin d'être collé isolément.

D'où il vient

Des sentinelles internes échappées d'un programme, des conversions d'encodage corrompues, et des outils de fuzzing ou de charge cachée qui les choisissent précisément parce que rien de légitime ne s'en sert jamais.

Pourquoi il compte

Ils ne doivent par définition jamais apparaître dans un échange : toute occurrence est un bogue ou une intrusion. Ils font aussi planter ou dérailler les analyseurs et, comme ils sont définitivement non attribués, ce ne sont pas des caractères de formatage : un filtre qui balaie la catégorie « Cf » les manque complètement.

Avant et après

NONCHARACTERS (U+FDD0-U+FDEF) avant et après nettoyage, le caractère caché affiché sous forme de pastille étiquetée
Fiche de référence pour ce caractère : le point de code, le verdict et le même avant et après, en une image.
AvantokU+FDD0
Aprèsok

U+FDD0, le premier non-caractère : un point de code dont il est garanti qu'il ne signifiera rien, nulle part, jamais.

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

Jamais, dans un texte que vous envoyez où que ce soit. Leur seul usage sanctionné est celui de sentinelle interne et privée à l'intérieur d'un programme.

Comment le supprimer

La passe par défaut les supprime tous. Ghostchars les énumère explicitement au lieu de se fier à un test de catégorie, parce que leur catégorie est « non attribué ».

Votre texte est dans un fichier plutôt que dans le presse-papiers ? Le rapport du document pour .docx, .odt et .html le trouve à l'intérieur du fichier, avec les passages masqués et les modifications suivies, sans que vous ayez à l'ouvrir. Si la question porte sur le reste de l'écriture plutôt que sur ce seul caractère, vous pouvez mesurer la variation de longueur des phrases et voir où se trouve chaque habitude, sans note et sans rien affirmer sur la personne qui a écrit le texte.

Est-ce un filigrane d'IA ?

Ce n'est pas un filigrane

Non. Un non-caractère dans votre texte signale une chaîne de traitement cassée ou une sonde délibérée, jamais un modèle de langue.

Aucun lien avec un texte généré par une machine. Il vient d'un logiciel, d'un clavier ou d'une personne.

Questions

Pourquoi Unicode réserve-t-il des points de code inutilisables ?

Pour que les programmes disposent de valeurs qu'ils peuvent employer sans risque en interne comme sentinelles, en sachant qu'aucun texte réel n'en contiendra jamais.

Pourquoi les autres nettoyeurs les manquent-ils ?

La plupart balaient la catégorie Unicode « format ». Les non-caractères sont définitivement non attribués : ils n'y figurent pas et doivent être listés à la main.

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é.

Vérifier votre propre texteNettoyer dans Chrome au moment du collageNettoyer sur votre Mac avec un raccourci clavierTous les caractères

Statistiques anonymes ?

Ghostchars traite votre texte dans le navigateur et ne l'envoie jamais nulle part. Nous aimerions comptabiliser les pages vues avec un service de mesure auto-hébergé et sobre en cookies. Jamais le moindre contenu.