The builtin Unicode codecs use the following interface:
- <encoding>_encode(Unicode_object[,errors='strict']) ->
+ <encoding>_encode(Unicode_object[,errors='strict']) ->
(string object, bytes consumed)
- <encoding>_decode(char_buffer_obj[,errors='strict']) ->
+ <encoding>_decode(char_buffer_obj[,errors='strict']) ->
(Unicode object, bytes consumed)
<encoding>_encode() interfaces also accept non-Unicode object as
if (PyCodec_Register(search_function))
goto onError;
-
+
Py_INCREF(Py_None);
return Py_None;
const char *encoding = NULL;
const char *errors = NULL;
PyObject *v;
-
+
if (!PyArg_ParseTuple(args, "O|ss:encode", &v, &encoding, &errors))
return NULL;
const char *encoding = NULL;
const char *errors = NULL;
PyObject *v;
-
+
if (!PyArg_ParseTuple(args, "O|ss:decode", &v, &encoding, &errors))
return NULL;
int len)
{
PyObject *v,*w;
-
+
if (unicode == NULL)
return NULL;
v = PyTuple_New(2);
const char *errors = NULL;
const char *data;
int size;
-
+
if (!PyArg_ParseTuple(args, "s#|z:escape_decode",
&data, &size, &errors))
return NULL;
- return codec_tuple(PyString_DecodeEscape(data, size, errors, 0, NULL),
+ return codec_tuple(PyString_DecodeEscape(data, size, errors, 0, NULL),
size);
}
const char *errors = NULL;
const char *data;
int size;
-
+
if (!PyArg_ParseTuple(args, "O|z:unicode_internal_decode",
&obj, &errors))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:utf_7_decode",
&data, &size, &errors))
return NULL;
int final = 0;
int consumed;
PyObject *decoded = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|zi:utf_16_le_decode",
&data, &size, &errors, &final))
return NULL;
int final = 0;
int consumed;
PyObject *decoded = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|zi:utf_16_be_decode",
&data, &size, &errors, &final))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:unicode_escape_decode",
&data, &size, &errors))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:raw_unicode_escape_decode",
&data, &size, &errors))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:latin_1_decode",
&data, &size, &errors))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:ascii_decode",
&data, &size, &errors))
return NULL;
int size;
const char *errors = NULL;
PyObject *mapping = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|zO:charmap_decode",
&data, &size, &errors, &mapping))
return NULL;
const char *data;
int size;
const char *errors = NULL;
-
+
if (!PyArg_ParseTuple(args, "t#|z:mbcs_decode",
&data, &size, &errors))
return NULL;
const char *errors = NULL;
const char *data;
int size;
-
+
if (!PyArg_ParseTuple(args, "O|z:unicode_internal_encode",
&obj, &errors))
return NULL;
/* This version provides access to the byteorder parameter of the
builtin UTF-16 codecs as optional third argument. It defaults to 0
which means: use the native byte order and prepend the data with a
- BOM mark.
+ BOM mark.
*/
str = PyUnicode_FromObject(str);
if (str == NULL)
return NULL;
- v = codec_tuple(PyUnicode_EncodeUnicodeEscape(PyUnicode_AS_UNICODE(str),
+ v = codec_tuple(PyUnicode_EncodeUnicodeEscape(PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str)),
PyUnicode_GET_SIZE(str));
Py_DECREF(str);
if (str == NULL)
return NULL;
v = codec_tuple(PyUnicode_EncodeRawUnicodeEscape(
- PyUnicode_AS_UNICODE(str),
+ PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str)),
PyUnicode_GET_SIZE(str));
Py_DECREF(str);
if (str == NULL)
return NULL;
v = codec_tuple(PyUnicode_EncodeLatin1(
- PyUnicode_AS_UNICODE(str),
+ PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str),
errors),
PyUnicode_GET_SIZE(str));
if (str == NULL)
return NULL;
v = codec_tuple(PyUnicode_EncodeASCII(
- PyUnicode_AS_UNICODE(str),
+ PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str),
errors),
PyUnicode_GET_SIZE(str));
if (str == NULL)
return NULL;
v = codec_tuple(PyUnicode_EncodeCharmap(
- PyUnicode_AS_UNICODE(str),
+ PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str),
- mapping,
+ mapping,
errors),
PyUnicode_GET_SIZE(str));
Py_DECREF(str);
if (str == NULL)
return NULL;
v = codec_tuple(PyUnicode_EncodeMBCS(
- PyUnicode_AS_UNICODE(str),
+ PyUnicode_AS_UNICODE(str),
PyUnicode_GET_SIZE(str),
errors),
PyUnicode_GET_SIZE(str));