22
多次搜索之後,我一直無法確定如何避免錯誤,指出:「Unicode的對象散列之前必須被編碼」使用此代碼時:如何使用hashlib模塊修復Unicode編碼錯誤?
pwdinput = input("Now enter a password:")
pwd = hashlib.sha1()
pwd.update(pwdinput)
pwd = pwd.hexdigest()
我怎樣才能得到過去的錯誤?你如何編碼Unicode對象?你使用Python 3
太謝謝你了!這工作完美!我希望我早日意識到這一點。不過謝謝。 – Nate
你很受歡迎。 – JAB
雖然我並不是Python 2.x的unicode處理的忠實粉絲,但是這個特殊的代碼在Python 2.7中也應該可以很好地工作,因爲'str'和'unicode'類型都有編碼方法,並且提供了一個字符串只包含ASCII字符,字符串的utf-8編碼完全等於這些字符的字節串。 這個事實很重要,如果你想讓「abc」和u「abc」的哈希值相同。如果你對這兩種方式的處理方式不同,那麼任何編碼都可以。 – GrandOpener