A friend pasted a command into a Slack chat room which contained the character *
. This looks like a normal *
but isn't:
$ uniprops '*'
uniprops: no character named ‹*›
While if I run uniprops
on the asterisk I get when typing on my machine, I get:
$ 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
I can also see that it isn't an actual asterisk by passing it through od
:
$ printf '*' | od -c
0000000 * 342 200 213
0000004
While the normal one gives:
$ printf '*' | od -c
0000000 *
0000001
Here's the mystery character a bit larger:
*
And the normal asterisk (yes, they do look identical):
*
So, uniprops
doesn't know what this is, and I can't find it on http://www.fileformat.info/ either. I do know that the friend who pasted it is on OS X (I am on Linux) and that it works on their system as a regular asterisk. I am assuming that Slack somehow changed it. So, does anyone have any idea what that character is?
Note that you can't copy the weird character directly from the question. Apparently, the Stack Exchange engine strips the trailing non-printing characters. Click on the "edit" link and copy from there instead.
uniprops
is a neat little script included in the Unicode::Tussle
Perl module which identifies and prints information about the character you give it.
ord("*")
for your pasted string and the native*
key, and got the same number for both (42).urxvt
, it is already displayed as*<200b>
.'*\u200b'
too)