Я новичок в кодировании и столкнулся с проблемой, пытающейся закодировать строку.
>>> import hashlib
>>> a = hashlib.md5()
>>> a.update('hi')
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
a.update('hi')
TypeError: Unicode-objects must be encoded before hashing
>>> a.digest()
b'\xd4\x1d\x8c\xd9\x8f\x00\xb2\x04\xe9\x80\t\x98\xec\xf8B~'
Является ли (а) теперь считаться кодированным?
Второй вопрос: когда я запускаю тот же код выше в скрипте, я получаю эту ошибку:
import hashlib
a = hashlib.md5()
a.update('hi')
a.digest()
Traceback (последний последний вызов): Файл "C: /Users/User/Desktop/Logger/Encoding practice.py", строка 3, в a.update('hi') TypeError: объекты Unicode должны быть закодированы перед хэшированием
Почему код работает в оболочке, а не в скрипте? Я работаю с Windows и Python 3.4
Благодарю.