Python 3 und Unicode: Warum ist das eigentlich so?
Verfasst: Samstag 25. Januar 2014, 19:47
Hallo,
dass seit Python 3 Text Unicode ist, finde ich erstmal sehr sinnvoll. Was mich allerdings verwirrt, ist folgendes:
Python 2Python 3
Weshalb erhalte ich unter Python 3 für ein 'ä' nicht '\xe4'? Text ist Unicode, oder? Also, weshalb ist mir schon klar, Python 3 codiert das gleich um, die Frage ist vielmehr: Aus welchem Grund gibt mir Python 3 nicht die `__repr__` (weiß nicht, wie ich das nennen soll...) zu 'ä', die nunmal '\xe4' ist.
Vielleicht hat hier jemand eine Ahnung, warum die Python Entwickler sich so entschieden haben. In meinen Augen ist das schon sehr magisch, oder sehe ich das falsch?
mutetella
dass seit Python 3 Text Unicode ist, finde ich erstmal sehr sinnvoll. Was mich allerdings verwirrt, ist folgendes:
Python 2
Code: Alles auswählen
>>> 'ä'
'\xc3\xa4'
>>> 'ä'.decode('utf8')
u'\xe4'
>>> print 'ä'
ä
Code: Alles auswählen
>>> 'ä'.encode('utf8')
b'\xc3\xa4'
>>> 'ä'
'ä'
>>> print('ä')
ä
Vielleicht hat hier jemand eine Ahnung, warum die Python Entwickler sich so entschieden haben. In meinen Augen ist das schon sehr magisch, oder sehe ich das falsch?
mutetella