14
A
回答
1
你試過
extract<std::string>("a unicode string").c_str()
或
extract<wchar_t*>(...)
3
這編譯和你的榜樣字符串和使用Python 2.x的工作對我來說,:
void process_unicode(boost::python::object u) {
using namespace boost::python;
const char* value = extract<const char*>(str(u).encode("utf-8"));
std::cout << "The string value is '"<< value << "'" << std::endl;
}
你可以寫a specific from-python converter,如果你想自動轉換PyUnicode
(@ Python2.x)至const wchar_t*
或從ICU一個類型(即似乎是使用Unicode上C++處理的共同建議)。
如果你想的Unicode字符,這是不是在ASCII範圍(例如,重音符號如á
,ç
或ï
,你需要寫的 - 蟒蛇轉換器的全面支持。請注意,這將有如果你想支持兩個單獨做的Python 2.x和3.x,。對於Python 3.x中,該PyUnicode type was deprecated現在的字符串類型的作品作爲PyUnicode
用於爲Python 2.x的
沒有一對夫婦
#if PY_VERSION_HEX >= 0x03000000
不能處理
上述評論是錯誤的。需要注意的是,因爲Python 3.x的把Unicode字符串作爲普通字符串,boost::python
將換行到boost::python::str
對象。我沒有證實這些是如何處理的。在這種情況下unicode翻譯。
相關問題
- 1. 並帶有Boost.Python
- 2. SSIS 2008 - 如何提取unicode字符並留下非Unicode字符串
- 3. 如何將帶有Unicode字符的字符串轉換爲普通字符串?
- 4. 帶有unicode字符串標頭的HttpAddRequestHeadersW
- 5. 如何從字符串中提取帶有分隔符的子字符串php
- 6. Unicode字符串提取和比較
- 7. 如何在Python中提取數據時獲取unicode字符串?
- 8. 如何拆分字符串並提取所需的字符串?
- 9. 如何在Unicode中讀取Unicode文件作爲Unicode字符串
- 10. 如何獲取Unicode字符串的Ruby子字符串?
- 11. 如何提取字符串
- 12. 如何提取字符串
- 13. 如何提取字符串?
- 14. C++ - 如何提取字符串中的有效字符串?
- 15. 字符提取與字符串提取有何不同?
- 16. 如何取消帶有轉義字符的字符串?
- 17. 使用帶unicode的STL字符串
- 18. 有效的Unicode字符串
- 19. 帶有Unicode字符的字典鍵提示錯誤
- 20. Unicode字符串
- 21. Unicode字符串
- 22. 如何將包含unicode字符的字符串轉換爲unicode?
- 23. Unicode字符串爲Unicode字符,Python 3
- 24. 如何分割點上的字符串並有效地提取所有字段?
- 25. 從unicode字符串中提取數字 - PHP RegExpression
- 26. 如何將帶下劃線的字符串轉換爲unicode?
- 27. Unicode字符字符串
- 28. Groovy - 從字符串中提取並顯示子字符串
- 29. 查找並從字符串數組中提取字符串
- 30. 提取字符串,並從一個較大的字符串
還沒有一個明確的答案,但是這裏(http://mail.python.org/pipermail/cplusplus-sig/2009-July/014720.html)和[這裏](HTTP://郵件.python.org/pipermail/CPLUSPLUS-SIG/2009年7月/ 014664.html)我發現了一些參考資料,可能是你的興趣 – mac
這是你所得到的錯誤? 「TypeError:沒有註冊的轉換器能夠提取C++指針,從這個類型爲unicode的Python對象中鍵入char。」你能給出示例代碼和/或讓你知道你想要做什麼嗎? –
你能澄清這個問題嗎?這真的不清楚。你提出的解釋是什麼?它是一個文字串嗎?一個boost :: python :: object? – eudoxos