Python:将二进制数据转换为十六进制数组

Python:将二进制数据转换为十六进制数组,python,arrays,binary,Python,Arrays,Binary,我有一个二进制文件,其中包含一行:abcd1234 在Python中,使用 filecontent = f_obj.read() 结果: filecontent = b'abcd1234' 我想将filecontent的结果存储到字节数组中,如下所示: array[0] = 0xab array[1] = 0xcd array[2] = 0x12 array[3] = 0x34 有一个Python函数可以进行这种转换吗?不是已经有了吗?你能不能把文件内容[x]解码成字节码?不,不是。我得到

我有一个二进制文件,其中包含一行:abcd1234

在Python中,使用

filecontent = f_obj.read()
结果:

filecontent = b'abcd1234'
我想将
filecontent
的结果存储到字节数组中,如下所示:

array[0] = 0xab
array[1] = 0xcd
array[2] = 0x12
array[3] = 0x34

有一个Python函数可以进行这种转换吗?

不是已经有了吗?你能不能把文件内容[x]解码成字节码?不,不是。我得到的是0x61 0x62 0x63 0x64 0x31 0x32 0x33 0x34签出。特别是来自hex的
。谢谢!fromhex()可以工作。我将发布答案。你的问题标题是错误的。您没有将二进制转换为十六进制-您正在将十六进制转换为二进制(字符串
'ab'
是十六进制,而数字
0xab
是二进制)
filecontent = filecontent.decode("utf-8") # to remove the b' ' from the string
filecontent = bytearray.fromhex(filecontent)