我花了大约四个小时研究“UnicodeWarning:Unicode不等比较”问题。通常,在几个小时之后,我能够自己回答我最棘手的问题,但这不是这种情况。当然,我的意思是“棘手”。 ;-)如何解决UnicodeWarning问题?
我知道类似的问题可以在网上回答,也可以在本网站上得到解答,但如果太过于理解答案,我根本无法解决问题。也许我得到它的最好方法是让别人指出我的代码中需要更改什么。
我在Windows XP上使用Python 2.5。
我能想出
我明白我的问题与我试图比较苹果和橘子(或Unicode和ASCII,或类似的东西,如可能字节)做什么。我不知道的是解决这个问题的实际方法。
这里是我的代码:
# coding: iso-8859-1
import sys
from easygui import *
actual_answer = "pureté"
answer_given = enterbox("Type your answer!\n\nHint: 'pureté'")
if answer_given == actual_answer:
msgbox("Correct! The answer is 'pureté'")
else:
msgbox("Bug!")
以下是错误消息我得到:
UnicodeWarning:统一等于比较失败既 参数转换为Unicode - 将它们解释因为不相等
如果它在Python 3中变量中的字符串已经是unicode,并且没有库会返回bytestring。这是Python 2. – jsbueno
无论哪种方式OP明确指出,他在Windows XP上的Python 2.5 ...... – Dayan