Python gibt eine Länge von 2 für eine einzelne Unicode-Zeichenfolge zurück.
In 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
Schon seitunicode_str
enthält nur einen einzigen Unicode-Codepunkt (0x0001f44d). Warum funktioniertlen(unicode_str)
return 2 statt 1?