Cuando uso .lower()
en Python 2.7, la cadena no se convierte a minúsculas para las letras ŠČŽ
. Leo datos del diccionario.python 2.7 minúsculas
Intenté usar str(tt["code"]).lower()
, tt["code"].lower()
.
¿Alguna sugerencia?
Cuando uso .lower()
en Python 2.7, la cadena no se convierte a minúsculas para las letras ŠČŽ
. Leo datos del diccionario.python 2.7 minúsculas
Intenté usar str(tt["code"]).lower()
, tt["code"].lower()
.
¿Alguna sugerencia?
cadenas Unicode es:
[email protected]:~$ python
Python 2.7.2+ (default, Oct 4 2011, 20:06:09)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "ŠČŽ"
ŠČŽ
>>> print "ŠČŽ".lower()
ŠČŽ
>>> print u"ŠČŽ".lower()
ščž
ves que poco u
? Eso significa que se creó como un objeto unicode
en lugar de un objeto str
.
utilizar Unicode:
>>> print u'ŠČŽ'.lower().encode('utf8')
ščž
>>>
Es necesario para convertir el texto a unicode tan pronto como entra en su programa del mundo exterior, en lugar de simplemente en el punto en el que se observe un problema.
En consecuencia, utilice el módulo codecs
para leer en texto decodificado, o use 'bytestring'.decode('latin2')
(donde en lugar de latin2 debe usar cualquiera que sea la codificación real).
Eche un vistazo a http://stackoverflow.com/questions/727507/how-can-i-do-unicode-uppercase, creo que probablemente esté relacionado. – mgilson