Python 中的西里尔字符比较有问题。这是小测试用例%
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def convert(text):
result = []
for i in xrange(len(text)):
if text[i].lower() == 'й':
result.append('q')
print result
if __name__ == '__main__':
convert('йцукенг')
你肯定看到,第一个字符应该等于条件中的字符。但条件失败,结果为空。
此外,如果我尝试打印整个字符串(文本),效果很好,但如果我尝试仅打印一个字符(如 text[2])——我会得到 '?' 在输出中。
我确定问题出在编码上,但是如何正确比较单独的字符?