This patch adds a new builtin unistr() which behaves like str()

except that it always returns Unicode objects.

A new C API PyObject_Unicode() is also provided.

This closes patch #101664.

Written by Marc-Andre Lemburg. Copyright assigned to Guido van Rossum.
This commit is contained in:
Marc-André Lemburg 2001-01-17 17:09:53 +00:00
parent d5c43065d5
commit ad7c98e264
10 changed files with 119 additions and 6 deletions

View file

@ -1927,6 +1927,23 @@ Return a nice string representation of the object.\n\
If the argument is a string, the return value is the same object.";
static PyObject *
builtin_unistr(PyObject *self, PyObject *args)
{
PyObject *v;
if (!PyArg_ParseTuple(args, "O:unistr", &v))
return NULL;
return PyObject_Unicode(v);
}
static char unistr_doc[] =
"unistr(object) -> unicode\n\
\n\
Return a nice unicode representation of the object.\n\
If the argument is a unicode, the return value is the same object.";
static PyObject *
builtin_tuple(PyObject *self, PyObject *args)
{
@ -2242,6 +2259,7 @@ static PyMethodDef builtin_methods[] = {
{"type", builtin_type, 1, type_doc},
{"unicode", builtin_unicode, 1, unicode_doc},
{"unichr", builtin_unichr, 1, unichr_doc},
{"unistr", builtin_unistr, 1, unistr_doc},
{"vars", builtin_vars, 1, vars_doc},
{"xrange", builtin_xrange, 1, xrange_doc},
{"zip", builtin_zip, 1, zip_doc},