我花了大約四個小時研究「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