Python возвращает длину 2 для одной строки символов Unicode
В Python 2.7:
In [2]: utf8_str = '\xf0\x9f\x91\x8d'
In [3]: print(utf8_str)
In [4]: unicode_str = utf8_str.decode('utf-8')
In [5]: print(unicode_str)
In [6]: unicode_str
Out[6]: u'\U0001f44d'
In [7]: len(unicode_str)
Out[7]: 2
посколькуunicode_str
содержит только одну кодовую точку Unicode (0x0001f44d), почемуlen(unicode_str)
вернуть 2 вместо 1?