Python|将字节数组转换为十六进制字符串
有时,我们可能会遇到需要处理异常数据类型转换的问题。一种这样的转换可以是将字节列表(字节数组)转换为十六进制字符串格式。让我们讨论一些可以做到这一点的方法。
方法 #1:使用format() + join()
上述功能的组合可用于执行此特定任务。 format函数将字节转换为十六进制格式。格式中的“02”用于填充所需的前导零。 join函数允许将十六进制结果连接成一个字符串。
# Python3 code to demonstrate working of
# Converting bytearray to hexadecimal string
# Using join() + format()
# initializing list
test_list = [124, 67, 45, 11]
# printing original list
print("The original string is : " + str(test_list))
# using join() + format()
# Converting bytearray to hexadecimal string
res = ''.join(format(x, '02x') for x in test_list)
# printing result
print("The string after conversion : " + str(res))
输出 :
The original string is : [124, 67, 45, 11]
The string after conversion : 7c432d0b
方法 #2:使用binascii.hexlify()
hexlify 的内置函数可用于执行此特定任务。建议将此函数用于此特定转换,因为它是为解决此特定问题而量身定制的。
# Python3 code to demonstrate working of
# Converting bytearray to hexadecimal string
# Using binascii.hexlify()
import binascii
# initializing list
test_list = [124, 67, 45, 11]
# printing original list
print("The original string is : " + str(test_list))
# using binascii.hexlify()
# Converting bytearray to hexadecimal string
res = binascii.hexlify(bytearray(test_list))
# printing result
print("The string after conversion : " + str(res))
输出 :
The original string is : [124, 67, 45, 11]
The string after conversion : 7c432d0b