Seorang teman menempelkan perintah ke ruang obrolan Slack yang berisi karakter *
. Ini terlihat seperti normal *
tetapi tidak:
$ uniprops '*'
uniprops: no character named ‹*›
Sementara jika saya menjalankan uniprops
tanda bintang yang saya dapatkan saat mengetik di komputer saya, saya mendapatkan:
$ 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
Saya juga dapat melihat bahwa itu bukan tanda bintang yang sebenarnya dengan melewati od
:
$ printf '*' | od -c
0000000 * 342 200 213
0000004
Sedangkan yang normal memberi:
$ printf '*' | od -c
0000000 *
0000001
Inilah karakter misteri yang sedikit lebih besar:
*
Dan tanda bintang normal (ya, mereka memang terlihat identik):
*
Jadi, uniprops
tidak tahu apa ini, dan saya juga tidak bisa menemukannya di http://www.fileformat.info/ . Saya tahu bahwa teman yang menempelnya ada di OS X (saya di Linux) dan itu bekerja di sistem mereka sebagai tanda bintang biasa. Saya berasumsi bahwa Slack entah bagaimana mengubahnya. Jadi, adakah yang tahu karakter apa itu?
Perhatikan bahwa Anda tidak dapat menyalin karakter aneh langsung dari pertanyaan. Rupanya, mesin Stack Exchange menghapus karakter yang tidak dicetak. Klik tautan "edit" dan salin dari sana.
uniprops
adalah skrip kecil rapi yang termasuk dalam Unicode::Tussle
modul Perl yang mengidentifikasi dan mencetak informasi tentang karakter yang Anda berikan.
urxvt
, sudah ditampilkan sebagai *<200b>
.
'*\u200b'
juga)
ord("*")
untuk string yang disisipkan dan*
kunci asli , dan mendapat nomor yang sama untuk keduanya (42).