On 03/26/2014 06:22 AM, � wrote:
[Assuming you are talking about PyUnicode_FromFormatV]
%s is a string.

No. %s is a char*; C does not have a "string" type.
The string behind the pointer should be UTF-8 encoded;
other encodings are tolerated through the "replace" error
handler.

%U is unicode?

No. This is a PyObject* whose Python type is 'str'
(i.e. an object for which PyUnicode_Check succeeds)

If so, then %s should only be used when it is certain the string in
question has no unicode in it?

No. If you have a char*, use %s; using %U would crash.

Many thanks!

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to