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? Thanks, Abhigyan -- http://mail.python.org/mailman/listinfo/python-list