Message156887
| Author |
vstinner |
| Recipients |
Jim.Jewett, benjamin.peterson, ezio.melotti, vstinner |
| Date |
2012年03月27日.01:02:46 |
| SpamBayes Score |
7.3283686e-09 |
| Marked as misclassified |
No |
| Message-id |
<1332810167.7.0.771318539526.issue13608@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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. |
|