5

如何在 Python 中将包含非 ASCII 字符的单词大写?有没有办法调整stringcapitalize()方法来做到这一点?

4

2 回答 2

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)
于 2009-06-17T11:30:16.623 回答
1

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

于 2009-06-17T11:32:52.220 回答