Um amigo colou um comando em uma sala de bate-papo do Slack que continha o personagem *
. Parece normal, *
mas não é:
$ uniprops '*'
uniprops: no character named ‹*›
Embora se eu rodar uniprops
no asterisco que recebo ao digitar na minha máquina, recebo:
$ 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
Também posso ver que não é um asterisco real passando por od
:
$ printf '*' | od -c
0000000 * 342 200 213
0000004
Enquanto o normal dá:
$ printf '*' | od -c
0000000 *
0000001
Aqui está o personagem misterioso um pouco maior:
*
E o asterisco normal (sim, eles parecem idênticos):
*
Portanto, uniprops
não sei o que é isso, e também não consigo encontrá-lo em http://www.fileformat.info/ . Eu sei que o amigo que o colou está no OS X (eu estou no Linux) e que funciona no sistema deles como um asterisco regular. Estou assumindo que o Slack mudou de alguma forma. Então, alguém tem alguma idéia do que esse personagem é?
Observe que você não pode copiar o personagem estranho diretamente da pergunta. Aparentemente, o mecanismo Stack Exchange remove os caracteres não imprimíveis à direita. Clique no link "editar" e copie a partir daí.
uniprops
é um pequeno script limpo incluído no Unicode::Tussle
módulo Perl que identifica e imprime informações sobre o personagem que você fornece.
urxvt
, ele já é exibido como *<200b>
.
'*\u200b'
também é exibido )
ord("*")
sua string colada e a*
chave nativa e obtive o mesmo número para ambas (42).