读书人

[D]大侠请留步!python中相同的汉字比

发布时间: 2012-05-15 14:35:29 作者: rapoo

[D]大侠请留步!!!python中相同的汉字比较为什么不成立呢?

Python code
                print 'compare-->',function[1]                print 'compare-->',self.GetItemText(item)                if function[1] == self.GetItemText(item):                    print '----aa'                print 'before-->',type(function[1]),type(self.GetItemText(item))                function = unicode(function)                print 'after -->',type(function[1]), type(self.GetItemText(item))                if function[1] == self.GetItemText(item):                    print '----bb'            print '--End--'


现象:
compare--> 测试
compare--> 测试
C:\Users\Administrator\Desktop\123\AutoTestClientCodes\AutoTestProj.py:189: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
if function[1] == self.GetItemText(item):
before--> <type 'str'> <type 'unicode'>
after --> <type 'unicode'> <type 'unicode'>
--End--


----------------------------
Double行动:
原帖分数:40
加分:40


[解决办法]
探讨

引用:

print 'compare-->',repr(function[1])
print 'compare-->',repr(self.GetItemText(item))

这样比较清楚知道字串里到底是啥...


结果如下:
compare--> '\xb2\xe2\xca\xd4'
compare--> u'\u6d4b\u8bd5'
请问应该……

[解决办法]
这个问题类型和编码都要兼顾。你默认的编码是ascii,改成utf8再试下

读书人网 >perl python

热点推荐