1

Python () で xor シンボルを出力しようとしています。

ユニバーサル量指定子を問題なく出力できます。

>>> print u"\u2200"
∀

しかし、xor を実行すると、代わりに 8 が出力されます。

>>> print u"\u10308"
8

なんで?

4

2 に答える 2

4

で Unicode を指定する場合u'\uXXXX'、XXXX は正確に 4 桁の 16 進数でなければなりません。16 進数 8 桁の Unicode を指定するには、大文字の U: を使用する必要がありますu'\UXXXXXXXX'

実際u'\u10308'には 2 文字で、u'\u1030'その後にu'8'.

u'\u1030'MYANMAR VOWEL SIGN UU文字であり、これは非スペーシング マークです。この文字は、それ自体ではベースラインに沿って表示されません。したがって、最後に表示されるのは8.


あなたが投稿した記号はOLD ITALIC LETTER THEユニコード文字です。

In [103]: print(u'\N{OLD ITALIC LETTER THE}')


In [104]: print(u'\U00010308')

XORユニコード文字は次のとおりです。

In [105]: print(u'\N{XOR}')
⊻

In [106]: print(u'\u22bb')
⊻

役に立つと思われるその他の文字:

In [110]: print(u'\N{CIRCLED PLUS}')
⊕

In [111]: print(u'\N{CIRCLED TIMES}')
⊗

In [112]: print(u'\N{N-ARY CIRCLED PLUS OPERATOR}')
⨁

In [113]: print(u'\N{N-ARY CIRCLED TIMES OPERATOR}')
⨂

PS。次の方法で、(一部の) Unicode 文字の Unicode 名を見つけることができます。

In [95]: import unicodedata as UD

In [96]: UD.name(''.decode('utf-8'))
Out[96]: 'OLD ITALIC LETTER THE'
于 2013-05-17T18:42:08.847 に答える