Un ami a collé une commande dans une salle de discussion Slack contenant le personnage *. Cela ressemble à une normale *mais n'est pas:
$ uniprops '*'
uniprops: no character named ‹*›
Tandis que si je cours unipropssur l'astérisque que je reçois en tapant sur ma machine, je reçois:
$ uniprops '*'
U+002A ‹*› \N{ASTERISK}
\pP \p{Po}
All Any ASCII Assigned Basic_Latin Punct Is_Punctuation Common Zyyy Po P
Gr_Base Grapheme_Base Graph X_POSIX_Graph GrBase Other_Punctuation
Pat_Syn Pattern_Syntax PatSyn POSIX_Graph POSIX_Print POSIX_Punct Print
X_POSIX_Print Punctuation Unicode X_POSIX_Punct
Je peux aussi voir que ce n'est pas un astérisque réel en le passant od:
$ printf '*' | od -c
0000000 * 342 200 213
0000004
Alors que la normale donne:
$ printf '*' | od -c
0000000 *
0000001
Voici le personnage mystère un peu plus grand:
*
Et l'astérisque normal (oui, ils ont l'air identique):
*
Donc, unipropsje ne sais pas ce que c'est, et je ne le trouve pas non plus sur http://www.fileformat.info/ . Je sais que l'ami qui l'a collé est sous OS X (je suis sous Linux) et que cela fonctionne sur son système comme un astérisque normal. Je suppose que Slack l'a changé d'une manière ou d'une autre. Alors, est-ce que quelqu'un a une idée de ce que ce personnage est?
Notez que vous ne pouvez pas copier le caractère étrange directement à partir de la question. Apparemment, le moteur Stack Exchange supprime les derniers caractères non imprimables. Cliquez sur le lien "modifier" et copiez à partir de là.
unipropsest un petit script soigné inclus dans le Unicode::Tusslemodule Perl qui identifie et affiche des informations sur le caractère que vous lui donnez.
urxvt, il est déjà affiché comme *<200b>.
'*\u200b'aussi)
ord("*")pour votre chaîne collée et la*clé native , et j'ai obtenu le même numéro pour les deux (42).