STINNER Victor <victor.stin...@gmail.com> added the comment:

The Py_UNICODE* type is deprecated but since Python 3.3, Py_UNICODE=wchar_t and 
wchar_t* is a common type on Windows. PyUnicode_AsUnicodeAndSize() is used to 
encode Python strings to call Windows functions.

PyUnicode_AsUnicodeAndSize() is preferred over PyUnicode_AsWideCharString() 
because PyUnicode_AsWideCharString() stores the result in the Unicode string 
and the Unicode string releases the memory automatically later. Calling 
PyUnicode_AsWideCharString() twice on the same string avoids also the need of 
encoding the string twice because the result is cached.

I proposed to add a new function using wchar_*t and storing the result in the 
Unicode string, but the idea was rejected. I don't remember why.

----------
nosy: +haypo

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13608>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to