11import codecs
22import sys
3+ from _typeshed import ReadableBuffer
34from collections .abc import Callable
45from typing import overload
56from typing_extensions import Literal , TypeAlias
@@ -44,13 +45,13 @@ _BytesToBytesEncoding: TypeAlias = Literal[
4445_StrToStrEncoding : TypeAlias = Literal ["rot13" , "rot_13" ]
4546
4647@overload
47- def encode (obj : bytes , encoding : _BytesToBytesEncoding , errors : str = ...) -> bytes : ...
48+ def encode (obj : ReadableBuffer , encoding : _BytesToBytesEncoding , errors : str = ...) -> bytes : ...
4849@overload
4950def encode (obj : str , encoding : _StrToStrEncoding , errors : str = ...) -> str : ... # type: ignore[misc]
5051@overload
5152def encode (obj : str , encoding : str = ..., errors : str = ...) -> bytes : ...
5253@overload
53- def decode (obj : bytes , encoding : _BytesToBytesEncoding , errors : str = ...) -> bytes : ... # type: ignore[misc]
54+ def decode (obj : ReadableBuffer , encoding : _BytesToBytesEncoding , errors : str = ...) -> bytes : ... # type: ignore[misc]
5455@overload
5556def decode (obj : str , encoding : _StrToStrEncoding , errors : str = ...) -> str : ...
5657
@@ -64,66 +65,72 @@ def decode(
6465@overload
6566def decode (obj : str , encoding : Literal ["hex" , "hex_codec" ], errors : str = ...) -> bytes : ...
6667@overload
67- def decode (obj : bytes , encoding : str = ..., errors : str = ...) -> str : ...
68+ def decode (obj : ReadableBuffer , encoding : str = ..., errors : str = ...) -> str : ...
6869def lookup (__encoding : str ) -> codecs .CodecInfo : ...
6970def charmap_build (__map : str ) -> _CharMap : ...
70- def ascii_decode (__data : bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
71+ def ascii_decode (__data : ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
7172def ascii_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
72- def charmap_decode (__data : bytes , __errors : str | None = ..., __mapping : _CharMap | None = ...) -> tuple [str , int ]: ...
73+ def charmap_decode (__data : ReadableBuffer , __errors : str | None = ..., __mapping : _CharMap | None = ...) -> tuple [str , int ]: ...
7374def charmap_encode (__str : str , __errors : str | None = ..., __mapping : _CharMap | None = ...) -> tuple [bytes , int ]: ...
74- def escape_decode (__data : str | bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
75+ def escape_decode (__data : str | ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
7576def escape_encode (__data : bytes , __errors : str | None = ...) -> tuple [bytes , int ]: ...
76- def latin_1_decode (__data : bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
77+ def latin_1_decode (__data : ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
7778def latin_1_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
7879
7980if sys .version_info >= (3 , 9 ):
80- def raw_unicode_escape_decode (__data : str | bytes , __errors : str | None = ..., __final : bool = ...) -> tuple [str , int ]: ...
81+ def raw_unicode_escape_decode (
82+ __data : str | ReadableBuffer , __errors : str | None = ..., __final : bool = ...
83+ ) -> tuple [str , int ]: ...
8184
8285else :
83- def raw_unicode_escape_decode (__data : str | bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
86+ def raw_unicode_escape_decode (__data : str | ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
8487
8588def raw_unicode_escape_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
86- def readbuffer_encode (__data : str | bytes , __errors : str | None = ...) -> tuple [bytes , int ]: ...
89+ def readbuffer_encode (__data : str | ReadableBuffer , __errors : str | None = ...) -> tuple [bytes , int ]: ...
8790
8891if sys .version_info >= (3 , 9 ):
89- def unicode_escape_decode (__data : str | bytes , __errors : str | None = ..., __final : bool = ...) -> tuple [str , int ]: ...
92+ def unicode_escape_decode (
93+ __data : str | ReadableBuffer , __errors : str | None = ..., __final : bool = ...
94+ ) -> tuple [str , int ]: ...
9095
9196else :
92- def unicode_escape_decode (__data : str | bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
97+ def unicode_escape_decode (__data : str | ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
9398
9499def unicode_escape_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
95100
96101if sys .version_info < (3 , 8 ):
97- def unicode_internal_decode (__obj : str | bytes , __errors : str | None = ...) -> tuple [str , int ]: ...
98- def unicode_internal_encode (__obj : str | bytes , __errors : str | None = ...) -> tuple [bytes , int ]: ...
102+ def unicode_internal_decode (__obj : str | ReadableBuffer , __errors : str | None = ...) -> tuple [str , int ]: ...
103+ def unicode_internal_encode (__obj : str | ReadableBuffer , __errors : str | None = ...) -> tuple [bytes , int ]: ...
99104
100- def utf_16_be_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
105+ def utf_16_be_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
101106def utf_16_be_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
102- def utf_16_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
107+ def utf_16_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
103108def utf_16_encode (__str : str , __errors : str | None = ..., __byteorder : int = ...) -> tuple [bytes , int ]: ...
104109def utf_16_ex_decode (
105- __data : bytes , __errors : str | None = ..., __byteorder : int = ..., __final : int = ...
110+ __data : ReadableBuffer , __errors : str | None = ..., __byteorder : int = ..., __final : int = ...
106111) -> tuple [str , int , int ]: ...
107- def utf_16_le_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
112+ def utf_16_le_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
108113def utf_16_le_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
109- def utf_32_be_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
114+ def utf_32_be_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
110115def utf_32_be_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
111- def utf_32_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
116+ def utf_32_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
112117def utf_32_encode (__str : str , __errors : str | None = ..., __byteorder : int = ...) -> tuple [bytes , int ]: ...
113118def utf_32_ex_decode (
114- __data : bytes , __errors : str | None = ..., __byteorder : int = ..., __final : int = ...
119+ __data : ReadableBuffer , __errors : str | None = ..., __byteorder : int = ..., __final : int = ...
115120) -> tuple [str , int , int ]: ...
116- def utf_32_le_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
121+ def utf_32_le_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
117122def utf_32_le_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
118- def utf_7_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
123+ def utf_7_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
119124def utf_7_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
120- def utf_8_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
125+ def utf_8_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
121126def utf_8_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
122127
123128if sys .platform == "win32" :
124- def mbcs_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
129+ def mbcs_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
125130 def mbcs_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
126- def code_page_decode (__codepage : int , __data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
131+ def code_page_decode (
132+ __codepage : int , __data : ReadableBuffer , __errors : str | None = ..., __final : int = ...
133+ ) -> tuple [str , int ]: ...
127134 def code_page_encode (__code_page : int , __str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
128- def oem_decode (__data : bytes , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
135+ def oem_decode (__data : ReadableBuffer , __errors : str | None = ..., __final : int = ...) -> tuple [str , int ]: ...
129136 def oem_encode (__str : str , __errors : str | None = ...) -> tuple [bytes , int ]: ...
0 commit comments