2024-04-25 00:00:03 发布
网友
在Python 2.7中使用.lower()时,字符串不会转换为小写字母ŠČŽ。 我从字典里读数据。
.lower()
ŠČŽ
我试着用str(tt["code"]).lower(),tt["code"].lower()。
str(tt["code"]).lower()
tt["code"].lower()
有什么建议吗?
使用unicode:
>>> print u'ŠČŽ'.lower().encode('utf8') ščž >>>
当文本从外部世界进入程序时,您需要将其转换为unicode,而不仅仅是在您注意到问题的时候。
因此,要么使用codecs模块读取解码文本,要么使用'bytestring'.decode('latin2')(在这里,您应该使用实际的编码来代替latin2)。
codecs
'bytestring'.decode('latin2')
使用unicode字符串:
drostie@signy:~$ 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() ščž
看到那一点了吗?这意味着它是作为unicode对象而不是str对象创建的。
unicode
str
使用unicode:
当文本从外部世界进入程序时,您需要将其转换为unicode,而不仅仅是在您注意到问题的时候。
因此,要么使用
codecs
模块读取解码文本,要么使用'bytestring'.decode('latin2')
(在这里,您应该使用实际的编码来代替latin2)。使用unicode字符串:
看到那一点了吗?这意味着它是作为
unicode
对象而不是str
对象创建的。相关问题 更多 >
编程相关推荐