擅长:python、mysql、java
<p>您需要首先将python PyUnicode转换为非unicode的python字符串(请阅读更多信息:<a href="https://docs.python.org/2/c-api/unicode.html#ascii-codecs" rel="nofollow">https://docs.python.org/2/c-api/unicode.html#ascii-codecs</a>),然后可以轻松地将结果转换为<code>char*</code>。在</p>
<p>下面是一个伪代码,可帮助您继续:</p>
<pre><code>// Assumption: you have a variable named "pyobj" which is
// a pointer to an instance of PyUnicodeObject.
PyObject* temp = PyUnicode_AsASCIIString(pyobj);
if (NULL == temp) {
// Means the string can't be converted to ASCII, the codec failed
printf("Oh noes\n");
return;
}
// Get the actual bytes as a C string
char* c_str = PyByteArray_AsString(temp);
// Use the string in some manner
printf("The python unicode string is: %s\n", c_str);
// Make sure the temp stuff gets cleaned up at the end
Py_XDECREF(temp);
</code></pre>