Przyjaciel wkleił polecenie do pokoju rozmów Slack, który zawierał postać *
. To wygląda normalnie, *
ale nie jest:
$ uniprops '*'
uniprops: no character named ‹*›
Chociaż jeśli uruchomię uniprops
gwiazdkę, którą otrzymuję podczas pisania na moim komputerze, otrzymuję:
$ 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
Widzę też, że nie jest to prawdziwa gwiazdka, przepuszczając ją od
:
$ printf '*' | od -c
0000000 * 342 200 213
0000004
Podczas gdy normalny daje:
$ printf '*' | od -c
0000000 *
0000001
Oto tajemnicza postać nieco większa:
*
I normalna gwiazdka (tak, wyglądają identycznie):
*
Więc uniprops
nie wie, co to jest i nie mogę tego znaleźć na stronie http://www.fileformat.info/ . Wiem, że przyjaciel, który go wkleił, jest w systemie OS X (jestem w systemie Linux) i że działa on w ich systemie jako zwykła gwiazdka. Zakładam, że Slack jakoś to zmienił. Czy ktoś ma pojęcie, czym jest ta postać?
Pamiętaj, że nie możesz skopiować dziwnej postaci bezpośrednio z pytania. Najwyraźniej silnik Stack Exchange usuwa końcowe znaki niedrukowalne. Kliknij link „edytuj” i skopiuj stamtąd.
uniprops
jest zgrabnym, małym skryptem zawartym w Unicode::Tussle
module Perla, który identyfikuje i drukuje informacje o nadanym znaku.
urxvt
, jest on już wyświetlany jako *<200b>
.
'*\u200b'
)
ord("*")
twojego wklejonego ciągu i*
klucza natywnego , i dostałem ten sam numer dla obu (42).