python C hashlib.md5()TypeError:Unicode对象必须在散列之前进行编码
>>> import hashlib
>>> a = hashlib.md5()
>>> a.update('hi')
Traceback (most recent call last):
File "<pyshell#22>",lin
我是新的编码,并遇到一个问题,试图编码一个字符串. >>> 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'xd4x1dx8cxd9x8fx00xb2x04xe9x80tx98xecxf8B~' 是(a)现在被认为是编码? 第二个问题:当我在脚本中运行相同的代码时,我得到这个错误: import hashlib a = hashlib.md5() a.update('hi') a.digest()追溯(最近呼叫最后): 为什么代码在shell中工作而不是脚本? 谢谢. 解决方法 因为你编码简单的字符串,我推断你正在运行Python 3,其中所有的字符串都是unicode对象,你有两个选择:>提供字符串的编码,例如:“没有人检查”.encode(‘utf-8’) shell脚本中行为不同的原因是脚本停止在错误上,而在shell中,最后一行是单独的命令,但是由于上一个错误,仍然没有执行任何操作. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python将ip地址转换成整数的方法
- python通过yield实现数组全排列的方法
- 默认情况下,如何配置mercurial hg不保留备份?
- Python从命令行运行时,import urllib.parse失败
- python – ElementTree find()/ findall()找不到带命名空间
- python – 启动py.test后,在读取请求的数据流后无法访问正文
- python – vectorize numpy独特的子阵列
- 为什么python库不作为pyc提供?
- python – Django 1.7 makemigrations – ValueError:无法
- python实现合并两个数组的方法