我需要用十六进制值初始化数组。
这是我在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必须是字符串或只读缓冲区,而不是元组
答案 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"