我正在将python 2的代码迁移到python 3,然后我遇到了encodedecode的问题。首先,我有多个句子,我应该用以下方式转换。
string-->十六进制的字符串。
之前,在python 2中,我使用了这样的代码。hex_message = message.encode("hex")
然后在迁移之前是完美的工作。举个例子。input->"Hello world", output ->"48656c6c6f20776f726c64"
. 然后我有这个问题 LookupError: 'hex' is not a text encoding; use codecs.encode() to handle arbitrary codecs
. 我把表达方式改成这样 hex_message = codecs.encode(message, 'hex')
而我得到的是这样的输出 b"48656c6c6f20776f726c64"
. 所以,没有那么多的变化,问题是我有一个多个字符串,他们不是字节对象,我必须加入他们,所以我想编码,但不是作为一个字节对象,只是作为字符串。我想用另一个函数或一个附加函数来获得它们。
我找到了一个解决方案。
message = "Hello world".encode('utf-8')
我找到一个解决方案:hex_message = message.hex()
. 它是在python3中工作。