首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-05-15 
[D]大侠请留步!!!python中相同的汉字比较为什么不成立呢?Python codeprint compare--,function[1]print

[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再试下

热点排行