📌  相关文章
📜  Python|将字节数组转换为十六进制字符串(1)

📅  最后修改于: 2023-12-03 14:46:28.219000             🧑  作者: Mango

将字节数组转换为十六进制字符串

在编程中,有时我们需要将字节数组转换为十六进制字符串,可以使用Python内置库中的binascii模块中的hexlify()函数来实现。

函数原型
binascii.hexlify(data, sep=b':')
  • data :待转换的字节数组。
  • sep :分隔符,可选参数,默认为冒号(b':')。

返回值:返回一个字节对象,包含转换后的十六进制字符串。

示例代码
import binascii

data = bytes([0x41, 0x42, 0x43, 0x44])
hex_str = binascii.hexlify(data, b'-')
print(hex_str.decode('utf-8'))

输出结果为:41-42-43-44

解释说明
  • 第一行,引入binascii模块,该模块提供了一些常用的二进制操作函数。
  • 第三行,定义一个字节数组data,内部包含16进制数值。
  • 第四行,调用binascii.hexlify()函数将字节数组data转换为十六进制字符串。
  • 第五行,调用decode()函数将二进制字节对象转换为字符串对象,并将结果输出。
注意事项
  • 在Python 2.x中,binascii.hexlify()函数的参数为字符串。
  • 如果字节数组包含了非ASCII码的值,hexlify()函数返回的字符串会包含非ASCII码的字符,仅适用于打印或调试非生产环境中的操作。
  • 如果需要将十六进制字符串转换为字节数组,可以使用binascii.unhexlify()函数。