Answers:
我不知道从中检查此内容的好方法bash
,但是Python具有内置的Unicode数据库,您可以像在以下脚本中那样使用它:
#!/usr/bin/env python
import sys, unicodedata
for ch in sys.stdin.read().decode('utf-8'):
try:
print unicodedata.name(ch)
except ValueError:
print 'codepoint ', ord(ch)
您可以像下面这样使用该脚本(假设您调用了它unicode-names
):
$ echo 'abc©áοπρσ' | unicode-names
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C
COPYRIGHT SIGN
LATIN SMALL LETTER A WITH ACUTE
GREEK SMALL LETTER OMICRON
GREEK SMALL LETTER PI
GREEK SMALL LETTER RHO
GREEK SMALL LETTER SIGMA
codepoint 10
数据库会ValueError
为任何未知字符抛出异常,因此我们将其代码点以十进制打印(通常是不可打印的字符)。
注意:脚本假定您的终端是UTF-8编码的。如果不是,则应更改decode()
方法的参数。Python支持多种编码,您的编码肯定会在那里。
sys.getdefaultencoding()
。
echo -n …— | uniname -bcegpu