如何在python中初始化十六进制数组?

时间:2019-06-10 17:53:48

标签: python c

我需要用十六进制值初始化数组。

这是我在Python中所需的C语言代码:

unsigned char key[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e};

我需要“键”数组作为参数传递给python函数。

我接下来尝试过:

key = [hex(0x01), hex(0x02), hex(0x03), hex(0x04), hex(0x05), hex(0x06), hex(0x07), hex(0x08), hex(0x09), hex(0x0a), hex(0x0b), hex(0x0c), hex(0x0d), hex(0x0e)]

结果: TypeError:参数1必须是字符串或只读缓冲区,而不是列表

key = (0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e)

结果: TypeError:参数1必须是字符串或只读缓冲区,而不是元组

2 个答案:

答案 0 :(得分:1)

key = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e]

Python可以处理十六进制,您使用的是哪个python版本

答案 1 :(得分:0)

您尝试过: key="\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e"