knorth55のぼんやり日記

制御とかプログラミングとかを勉強している機械系大学生の備忘録です。

Python2.7でUnicode文字をjoin

Python2.7でUnicode文字をjoinすると不思議なことになる

>>> a = u'\U0001f607'
>>> a
u'\U0001f607'
>>> print(a)
😇
>>> a = a.join(u'\U0001f607')
>>> a
u'\ud83d\U0001f607\ude07'
>>> print(a)
???😇???

Unicode文字をつなげる際は

>>> a = u'\U0001f607'
>>> a
u'\U0001f607'
>>> print(a)
😇
>>> a = a + a
>>> a
u'\U0001f607\U0001f607'
>>> print(a)
😇😇

原因は探っていませんが見ていて面白いです