[3.14] gh-136278: Document codecs.escape_encode() and codecs.escape_decode() (GH-136314) (#137149)

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

Closes GH-136278
(cherry picked from commit 6784ef7da7)

Co-authored-by: Toshaksha <147024929+Toshaksha@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2025-10-07 19:40:30 +02:00 committed by GitHub
parent 57c8e3eb8e
commit 08d8dadfc2
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