我想知道一些事情,现在我使用python ctypes来制作一些wifi帧结构,使用lorcon2,我可以通过Lan发送它们。我想把这个结构转换成一个字节串,得到这个结构的无符号十六进制表示。为此,我看到了两个函数,它们可以实现这一点。这个ctypes.string_在以及ctypes.wstring_地址功能。我知道ctypes.wstring_地址用于生成unicode字符串,但是ctypes.string_在是为了???我们能用它得到什么样的绳子??ascII字符串??或者十六进制字符串??
假设F()可以将结构转换为无符号十六进制字节字符串:class d(Strcuture):
_ fields _ = [("num",c_uint8),("char",c_char)]
s = d(num = 129,char = 'c')
q = F(s)
如果我打印“q”,我想要这样的东西:
'\xe1\x63'
0xe1为129(十六进制)
0x63为99(十六进制)
其中'c'以ascII编码99
同样地,我搜索另一个函数来获得“q”中每个元素的精确字节值假设这个函数是wx(),所以它可以返回这个:
129如果写入:wx(q[0])
99如果我写:wx(q[1])
谢谢