2010-05-17 68 views

回答

2

您需要對它進行編碼,就像在Python中一樣。 UTF-8的使用:

PyObject* PyUnicode_AsUTF8String(PyObject *unicode) 

返回值:新基準。
使用UTF-8編碼Unicode對象並將結果作爲Python字節對象返回。錯誤處理是「嚴格的」。如果編解碼器引發異常,則返回NULL。

或者,如果你想在utf-16或其他編碼中也有這些API的話。請參閱文檔http://docs.python.org/py3k/c-api/unicode.html(搜索以PyUnicode_As開頭的函數)。

不要忘記在編碼時檢查返回碼,並在完成處理後釋放對字節對象的引用。

+0

+1。你擊敗了我。 :) – 2010-05-17 12:01:12

+0

嗯。 'PyUnicode_As *'(採用一個unicode'PyObject *')比'PyUnicode_Encode *'更適合,它需要'Py_UNICODE *'。我會刪除我的答案! – 2010-05-17 12:14:10

相關問題