knorth55's memo

Technical memo by @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)
😇😇

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