如何修复AttributeError:“ bytes”对象没有属性“ encode”?

时间:2019-04-16 06:11:46

标签: python

这是我的代码z = (priv.to_string().encode('hex')) 我收到此错误:

"AttributeError: 'bytes' object has no attribute 'encode'"

看起来我错过了在代码后显示“编码”的内容:

z = (priv.to_string().

2 个答案:

答案 0 :(得分:0)

这里有两个问题:

  • 您使用的是priv.to_string()(不是内置方法),而不是str(priv)
  • 'hex'已在Python 3中作为一种编码被删除,因此使用str(priv).encode('hex')时会出现以下错误:LookupError: 'hex' is not a text encoding; use codecs.encode()to handle arbitrary codecs

但是,从Python 3.5开始,您可以轻松做到:

priv.hex()

priv是一个字节字符串。

示例:

priv = b'test'
print(priv.hex())

输出:

74657374

答案 1 :(得分:0)

在版本低于3.5的Python3系统上,您可以from binascii import hexlify并使用hexlify(priv.to_string())