|
|
1
1
既然你在Q的标题中说“或者其他什么”—如果你选择使用
ctypes
,您可以表示
当然,您也可以使用python c api--
PyByteArray_FromStringAndSize
在本例中,您将使用它从
另一个需要考虑的可能性是
Cython
是一种类似于python的语言,设计用于编写python扩展,这样cython编译器就可以从cython源代码生成可编译的C代码-在cython中,
假设你不想麻烦去申报
对不起,我已经很久没有认真地使用swig了(所有这些优秀的选项都是什么)--如果不是因为标题中的诱人的“或其他”条款,我会跳过q;-。 |
|
|
2
1
swig提供了一个名为“cdata.i”的模块。您应该将其包含在接口定义文件中。 一旦包含了它,它将提供两个函数cdata()和memmove()。给定一个void*和二进制数据的长度,cdata()将其转换为目标语言的字符串类型。memmove()是相反的。给定一个字符串类型,它将把字符串的内容(包括嵌入的空字节)复制到C void*类型中。 使用这个模块,处理二进制数据变得非常简单。我希望这是你需要的。 |