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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage