在Python中大写非ASCII字

时间:2009-06-17 11:24:42

标签: python unicode ascii capitalization

如何在Python中大写包含非ASCII字符的单词?有没有办法调整string的{​​{1}}方法来做到这一点?

2 个答案:

答案 0 :(得分:10)

使用Unicode字符串:

# coding: cp1252
print u"é".capitalize()
# Prints É

如果您拥有的是8位字符串,请先将其解码为Unicode:

# coding: cp1252
print "é".decode('cp1252').capitalize()
# Prints É

如果您再次需要它作为8位字符串,请对其进行编码:

# coding: cp1252
print "é".decode('cp1252').capitalize().encode('cp1252')
# Prints É (assuming your terminal is happy to receive cp1252)

答案 1 :(得分:1)

capitalize()应该Just Work™用于Unicode字符串。