diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -730,47 +730,47 @@ 3.x, but need to be aware that their use Locale Encoding """"""""""""""" The current locale encoding can be used to decode text from the operating system. -.. c:function:: PyObject* PyUnicode_DecodeLocaleAndSize(const char *str, Py_ssize_t len, int surrogateescape) +.. c:function:: PyObject* PyUnicode_DecodeLocaleAndSize(const char *str, Py_ssize_t len, const char *errors) Decode a string from the current locale encoding. The decoder is strict if - *surrogateescape* is equal to zero, otherwise it uses the + *errors* is equal to ``strict``, otherwise it uses the ``'surrogateescape'`` error handler (:pep:`383`) to escape undecodable bytes. If a byte sequence can be decoded as a surrogate character and - *surrogateescape* is not equal to zero, the byte sequence is escaped using + *errors* is not equal to ``strict``, the byte sequence is escaped using the ``'surrogateescape'`` error handler instead of being decoded. *str* must end with a null character but cannot contain embedded null characters. .. seealso:: Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup). .. versionadded:: 3.3 -.. c:function:: PyObject* PyUnicode_DecodeLocale(const char *str, int surrogateescape) +.. c:function:: PyObject* PyUnicode_DecodeLocale(const char *str, const char *errors) Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string length using :c:func:`strlen`. .. versionadded:: 3.3 -.. c:function:: PyObject* PyUnicode_EncodeLocale(PyObject *unicode, int surrogateescape) +.. c:function:: PyObject* PyUnicode_EncodeLocale(PyObject *unicode, const char *errors) Encode a Unicode object to the current locale encoding. The encoder is - strict if *surrogateescape* is equal to zero, otherwise it uses the + strict if *errors* is equal to ``strict``, otherwise it uses the ``'surrogateescape'`` error handler (:pep:`383`). Return a :class:`bytes` object. *str* cannot contain embedded null characters. .. seealso:: Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup).