一尘不染

在Python 3中将字节转换为十六进制字符串的正确方法是什么?

python

在Python 3中将字节转换为十六进制字符串的正确方法是什么?

我看到了一种bytes.hex方法,bytes.decode编解码器的主张,并尝试了其他最小惊讶的可能功能,但无济于事。我只想要我的字节为十六进制!


阅读 854

收藏
2020-02-21

共1个答案

一尘不染

从Python 3.5开始,这终于不再笨拙了:

>>> b'\xde\xad\xbe\xef'.hex()
'deadbeef'

并反向:

>>> bytes.fromhex('deadbeef')
b'\xde\xad\xbe\xef'

也适用于可变bytearray类型。

参考:https : //docs.python.org/3/library/stdtypes.html#bytes.hex

2020-02-21