擅长:python、mysql、java
<p>好的,在研究了pythonapi之后,我找到了一个解决方案,可以在memoryview中获得指向<code>bytes</code>对象缓冲区的指针(这里称为<code>bytes_view = memoryview(bytes())</code>)。也许这对其他人有帮助:</p>
<pre><code>from cpython.buffer cimport PyObject_GetBuffer, PyBuffer_Release, PyBUF_ANY_CONTIGUOUS, PyBUF_SIMPLE
cdef Py_buffer buffer
cdef char * my_ptr
PyObject_GetBuffer(bytes, &buffer, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)
try:
my_ptr = <char *>buffer.buf
# use my_ptr
finally:
PyBuffer_Release(&buffer)
</code></pre>