将ctype Array转换为bytearray

时间:2017-01-05 20:55:09

标签: python c arrays

我有一个C函数,它将指针(用于输出)带到以下结构:

class MacFrame(ctypes.Structure):
    _fields_ = [("buffer", ctypes.c_ubyte * 128),
                ("length", ctypes.c_ubyte),
                ("nodeid", ctypes.c_uint)]

然后,我需要使用以下调用C函数的Python函数将缓冲区和长度字段转换为bytearray对象以返回它,但我不清楚语法应该是什么:

def recv(self, bufsize):
    frame = MacFrame()

    self.Api.otListenerRead(ctypes.byref(frame))

    return bytearray(frame.buffer, frame.length), frame.nodeid

我知道bytearray(frame.buffer, frame.length)不正确,但我不知道最好的方法是什么。

0 个答案:

没有答案