Python API で、単一文字の Unicode コード ポイントを抽出する方法はありますか?
編集:問題が発生した場合に備えて、私はPython 2.7を使用しています。
Python API で、単一文字の Unicode コード ポイントを抽出する方法はありますか?
編集:問題が発生した場合に備えて、私はPython 2.7を使用しています。
私があなたの質問を正しく理解していれば、あなたはこれを行うことができます。
>>> s='㈲'
>>> s.encode("unicode_escape")
b'\\u3232'
Unicode エスケープ コードをソース文字列として表示します。
>>> ord(u"ć")
263
>>> u"café"[2]
u'f'
>>> u"café"[3]
u'\xe9'
>>> for c in u"café":
... print repr(c), ord(c)
...
u'c' 99
u'a' 97
u'f' 102
u'\xe9' 233
通常ord(character)
は、文字のコード ポイントを見つけるだけです。ただし、完全を期すために、Unicode Supplementary Multilingual Plane のワイド文字は、ナロー Python ビルドではサロゲート ペア (つまり、2 つのコード単位) として表されるため、その場合は、この小さな回避策を実行する必要がよくありました。
def get_wide_ordinal(char):
if len(char) != 2:
return ord(char)
return 0x10000 + (ord(char[0]) - 0xD800) * 0x400 + (ord(char[1]) - 0xDC00)
ただし、これはほとんどのアプリケーションではまれであるため、通常はord()
.