将字节数组从 c++ 传递给 python
Posted
技术标签:
【中文标题】将字节数组从 c++ 传递给 python【英文标题】:passing byte array from c++ to python 【发布时间】:2017-07-14 13:42:47 【问题描述】:正如标题所示,我想将一个字节数组从 c++ 传递给 python。我知道我需要以某种方式将我的字节数组转换为 PyObject ,但这就是我卡住的地方。有没有人可以帮我解决这个问题。
提前致谢,
【问题讨论】:
【参考方案1】:PyBytes_FromString
假设 Python3+:
https://docs.python.org/3/c-api/bytes.html
Python2.x下PyString_FromString
:
https://docs.python.org/2/c-api/string.html
【讨论】:
我正在使用 opencv 矩阵到这样的字节转换 std::memcpy(bytes,image.data,size * sizeof(byte));所以这不是一个字符串。如何将它与 PyBytes_FromString 一起使用? @las*_FromString
函数将 const char*
作为参数。你说你有一个字节数组。所以我认为这正是它的本质。这有点令人困惑,但字符串和字节数组在几天前就意味着同样的事情。如果您在字节序列中允许空值,那么*_FromStringAndSize
可能是更好的选择。
反正我不知道opencv,但如果你还有别的什么,首先你必须想办法把它转换成char*
。以上是关于将字节数组从 c++ 传递给 python的主要内容,如果未能解决你的问题,请参考以下文章
将字节数组从 c++ 传递到 c# 程序集都有哪些不同的方法?