[Python-de] lokalisierte String-Methoden?

Stefan Behnel behnel_ml at gkec.informatik.tu-darmstadt.de
Die Nov 22 10:30:45 CET 2005


Henning.Ramm at mediapro-gmbh.de schrieb:
>>.>>> s = u"Ölwanne"
>>.>>> s
>> u'\xd6lwanne'
>>.>>> s.upper()
>> u'\xd6LWANNE'
> 
> Da steht aber zweimal \xd6 !

Er meinte natürlich

.>>> s = u"ölwanne"
.>>> s
u'\xf6lwanne'
.>>> s.upper()
u'\xd6LWANNE'



>>.>>> print s.upper()
>> ÖLWANNE
>>.>>> print s.lower()
>> ölwanne
>>.>>> print s.capitalize()
>> Ölwanne
>> Was funktioniert bei dir nicht?
> 
> Das:
> 
> Python 2.3.2 (#49, Oct  2 2003, 20:02:00) [MSC v.1200 32 bit (Intel)] on win32
>.>>> print 'ölwännchen'.upper()
> öLWäNNCHEN
> 
> Das gleiche mit Python 2.4.1 auf Win32.


Warum benutzt du keine Unicode-Strings? So verlierst du natürlich die Semantik
der Zeichen. Nur Unicode bietet dir die Sicherheit, dass die Zeichen und ihre
Groß-/Kleinversionen a) dargestellt werden können und b) wohl-definiert sind.

Stefan