我想将字节变量转换为字符串。当然,还有一些与我有关的先前问题。但是,尝试以这种方式在 md5() 中散列文件的内容:
import hashlib
with open("C:\\boot.ini","r") as f:
r=f.read()
a=hashlib.md5()
a.update(r.encode('utf8'))
bytes_data=a.digest()
print(bytes_data)
r=type(bytes_data)
print(r) # <-- Just to be sure, it is in bytes
myString=bytes_data.decode(encoding='UTF-8')
我收到了这个错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 1: invalid continuation byte
由于这个问题,我理解了我的问题的原因,但是我正在处理不同的文件来计算它们的哈希值,所以我无法控制字节,那么我该如何解决这个问题?