gh-136278: Document codecs.escape_encode() and codecs.escape_decode() (#136314)

Closes #136278
This commit is contained in:
Toshaksha 2025-07-27 22:07:52 +05:30 committed by GitHub
parent 2bd4ff0700
commit 6784ef7da7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1483,6 +1483,36 @@ to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode`
Restoration of the aliases for the binary transforms.
.. _standalone-codec-functions:
Standalone Codec Functions
^^^^^^^^^^^^^^^^^^^^^^^^^^
The following functions provide encoding and decoding functionality similar to codecs,
but are not available as named codecs through :func:`codecs.encode` or :func:`codecs.decode`.
They are used internally (for example, by :mod:`pickle`) and behave similarly to the
``string_escape`` codec that was removed in Python 3.
.. function:: codecs.escape_encode(input, errors=None)
Encode *input* using escape sequences. Similar to how :func:`repr` on bytes
produces escaped byte values.
*input* must be a :class:`bytes` object.
Returns a tuple ``(output, length)`` where *output* is a :class:`bytes`
object and *length* is the number of bytes consumed.
.. function:: codecs.escape_decode(input, errors=None)
Decode *input* from escape sequences back to the original bytes.
*input* must be a :term:`bytes-like object`.
Returns a tuple ``(output, length)`` where *output* is a :class:`bytes`
object and *length* is the number of bytes consumed.
.. _text-transforms:
Text Transforms