以下の内容はhttps://coublood.hatenablog.com/entry/2025/02/09/150000より取得しました。


Python3の学習 その18 (unicodedata:ユニコード情報アクセス)

Python

今回はUnicodeデータベースの操作について。

 

Unicodeの文字とその文字を表す名前の確認

Unicodeの各文字には、その文字を表す名前が定義されているようです。

それは以下の関数で確認可能のようです。

  • lookup(name)  :  指定された名前に対する文字を返す
  • name(char :  文字charに対応する名前を返す
>>> import unicodedata
>>>
>>> unicodedata.name('A')
'LATIN CAPITAL LETTER A'
>>> unicodedata.name('B')
'LATIN CAPITAL LETTER B'
>>> unicodedata.name('a')
'LATIN SMALL LETTER A'
>>> unicodedata.name('b')
'LATIN SMALL LETTER B'

大文字の「A」は「LATIN CAPITAL LETTER A」。

小文字の「a」は「LATIN SMALL LETTER A

というようです。

>>> import unicodedata
>>> unicodedata.name('2')
'DIGIT TWO'
>>> unicodedata.name('23')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: name() argument 1 must be a unicode character, not str

数字は「DIGIT TWO」とかのように表されるようです。

ただ、当然二桁は2文字になるので、エラーになります。

 

漢字について同様に試してみると…

「CJK UNIFIED IDEOGRAPH-vwxyのような形式のようです。

>>> import unicodedata
>>> unicodedata.name('開')
'CJK UNIFIED IDEOGRAPH-958B'
>>> unicodedata.name('閉')
'CJK UNIFIED IDEOGRAPH-9589'
>>> 
>>> unicodedata.lookup('CJK UNIFIED IDEOGRAPH-958A')
'閊'

「開」で試してみると、「CJK UNIFIED IDEOGRAPH-958B

「閉」で試してみると、「CJK UNIFIED IDEOGRAPH-9589

と出ました。

ということは、その間の「958A」は?と思ったので、lookupで確認してみると…

知らない漢字が出てきましたね。Unicodeは別に簡単な漢字や関係のある漢字の順に並んでいるわけではないですからね。

 




以上の内容はhttps://coublood.hatenablog.com/entry/2025/02/09/150000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14