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

我看到了bytes.hex种方法、bytes.decode种编解码器的说法,并try 了other种可能的功能,但都没有成功.我只希望我的字节是十六进制!

推荐答案

自从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

Python相关问答推荐

mypy call-arg 错误,其中设置了默认参数

使用字典将“顺序”信息添加到 python 列表

Ctypes 数据类型转换

计算区间中素数的算法不起作用

如何在 Databricks Delta Live 表上使用 Apache Sedona?

如何加快应用两个二维数组的 scipy 集成?

如何进行条件合并 Pandas

如何加快 aiohttp 解析器 bs4?

从 json 文件加载项目描述

如何将对称矩阵转换为邻接表

类实例的方法参数自动完成

从 csv 导入数据 - 无法将字符串转换为浮点数

查看单词是否为等值线的功能

如何使用 Python reduce 或列表推导将函数列表顺序应用于字符串?

从嵌套 for 循环到字典理解?

Pandas df 按计数元素分组

Python Pandas groupby 和 iloc

获取目录中所有文件名的列表及其原始文件夹顺序

使用 Python OpenCV cv2.VideoCapture() 直接以灰度读取视频帧

mypy - 如何将行标记为无法访问