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

📅  最后修改于: 2022-05-13 01:54:53.856000             🧑  作者: Mango

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