为什么Python不使用upper()来填充特殊字符?

Oli*_*ons 4 python unicode

我不明白:

'ô TRAM'.upper() != 'Ô TRAM'
'ô TRAM'.upper() == 'ô TRAM'
Run Code Online (Sandbox Code Playgroud)

当我们要求upcase时,所有文本编辑器(包括vimemacs)将'ôTRAM'.upper()转换为'ÔTRAM'.为什么Python似乎只支持[a-zA-Z]字符?什么是解决方法?

Tha*_*vas 10

在Python 3中,默认情况下使用Unicode,它应该可以工作.

在Python 2中,你必须强制它,这将做到这一点:

u'ô TRAM'.upper()
Run Code Online (Sandbox Code Playgroud)

u阻止文本转换为ASCII.(保留为unicode)