web-dev-qa-db-ja.com

PythonでUnicode文字の数/名前を見つける方法は?

Pythonの場合:

>>>"\N{BLACK SPADE SUIT}"
>>>'♠'
>>>"\u2660"
>>>'♠'

さて、名前や番号がわからないキャラクターがいるとします。次のような情報を提供するPython関数があります:

>>>wanted_function('♠')
>>>["BLACK SPADE SUIT", "u2660"]

34

nicodedata モジュールが便利です。

>>> s = "\N{BLACK SPADE SUIT}"
>>> s
'♠'
>>> import unicodedata
>>> unicodedata.name(s)
'BLACK SPADE SUIT'
>>> ord(s)
9824
>>> hex(ord(s))
'0x2660'
53
DSM