On 07/23/2009 10:17 AM, Robert Smallshire wrote:
Hello,
I'm looking for some confirmation that my understanding of what
boost.python is doing is correct.
> From what I understand boost::python::str represents the str
(PyStringObject) type in Python. Unless I'm missing something, here
doesn't seem to be anything like boost::python::unicode representing the
unicode type (PyUnicodeObject).
Boost.Python does have a built-in conversion from std::wstring to
object, but this creates a str in Python, so presumably there is some
(lossy?) decoding going on here.
It seems that to directly create a PyUnicodeObject from C++ I will need
to do one or more of the following:
1) Directly use the Python C API to create and manipulate
PyUnicodeObject.
2) Create my own subclass of boost::python::object called for example
'unicode', which would be similar to the str class provided out of the
box, but would use PyUnicodeObject underneath and deal with wchar_t
rather than char.
You might want to talk to Haoyu Bai, who is presently working on the
Python 3 port of boost.python. I wonder whether some of his work would
be useful with Python 2, notably the unicode stuff. Haoyu, any thoughts
on this ?
Regards,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig