abhi wrote: > On Jan 13, 12:17 pm, Terry Reedy <tjre...@udel.edu> wrote: >> abhi wrote: >>> Hi, >>> I am trying to handle Unicode objects in C (Python 2.5.2). I am >>> getting PyObjects from and want to coerce them to unicode objects. The >>> documentation provides two APIs for that: >>> PyUnicode_FromEncodedObject(PyObject *obj, const char *encoding, >>> const char *errors) >>> PyUnicode_FromObject(PyObject *obj) >>> (http://www.python.org/doc/2.5.2/api/unicodeObjects.html) >>> Now I want to utf-16 so I am trying to use the first one, but it is >>> giving back NULL in case of PyObject is already Unicode type which is >>> expected. What puzzles me is that PyUnicode_FromObject(PyObject *obj) >>> is passing irrespective of type of PyObject. The API says it is >>> Shortcut for PyUnicode_FromEncodedObject(obj, NULL, "strict") but if I >>> use that, it returns NULL where as PyUnicode_FromObject works. >>> Is there any way by which I can take in any PyObject and convert it to >>> utf-16 object? Any help is appreciated. >> Whether Unicode objects are utf-16 or utf=32 depends on your Python >> build. You can always convert a byte string representation of an object >> to unicode.- Hide quoted text - >> >> - Show quoted text - > > Hi, > I agree with you. I have a Python unicode object in C (I don't know > which utf) and I want to convert this explicitely to utf-16. Is there > any way to do this? > PyUnicode_FromEncodedObject(PyObject *obj, const char *encoding, const > char *errors) says that obj can't be a unicode type so I guess I can't > use this one, does anybody knows any other method by which I can > achieve my goal? > I suspect that a "Python Unicode object in C" will be using either UCS-2 or UCS-4 representation, depending on the options your interpreter was built with. So whatever else it is, it won't be UTF-anything. Don't know whether that helps or not.
regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list