1

我正在尝试将整数打包为python中的字节并在C中解压缩它们。所以在我的python代码中我有类似的东西

testlib = ctypes.CDLL('/something.so')
testlib.process(repr(pack('B',10)))

它将 10 打包为一个字节,并在我的 C 代码中调用函数“进程”。

在我的 C 代码中需要什么来解压这些打包数据?也就是说,我需要做什么才能从给定的打包数据中取回 10。

4

1 回答 1

0

假设您有一个包含 10 个整数的 10 字节字符串,只需复制数据。

char packed_data[10];
int unpacked[10];

int i;
for(i = 0; i < 10; ++i)
    unpacked[i] = packed_data[i];

...或使用memcpy

另一方面,如果您在打包时使用 4 字节 pr int,则可以在 C 中拆分 char 字符串并atoi在其上使用。您如何将数据从 Python 交换到 C ?

于 2012-10-10T16:55:12.517 回答