dedlfix: (PYTHON) Unicode-Strings innerhalb anderer Datenstrukturen

Beitrag lesen

echo $begrüßung;

Mal *unabhängig* davon, dass ich das hier machen kann:

a = 'ähnlich'
print a
ähnlich

Stimmt es, dass es in jedem Fall *besser* wäre, es wie folgt zu machen, also *mit* einem u für Unicode?

a = u'ähnlich'
print a
ähnlich

Nein, "in jedem Fall" ist es nicht besser, da es nicht unbedingt nötig ist. Bei Text mit ASCII-Zeichen reicht auch die Notation als herkömmlicher String.

Interessant wird es bei der weiteren Verarbeitung. print len(a) wird bei dir im ersten Beispiel 8 liefern im zweiten 7. Fall 1 dürfte sich mit der Betriebssystemvorgabe UTF-8 erklären lassen. Mit der u-Notation wird sich auch Python "bewusst", dass hier nicht das Ein-Zeichen-ein-Byte-Prinzip gilt.

Hier noch ein paar Beispiele:

print len('€')

3

print len(u'€')

1

print repr('€')

'\xe2\x82\xac'

print repr(u'€')

u'\u20ac'

echo "$verabschiedung $name";