[Python-Dev] Why does base64 return bytes?
tjreedy at udel.edu
Tue Jun 14 14:42:36 EDT 2016
On 6/14/2016 12:29 PM, Mark Lawrence via Python-Dev wrote:
> As I've the time to play detective I'd suggest
Thank you for finding that. I reread it and still believe that bytes
was the right choice. Base64 is an generic edge encoding for binary
data. It fits in with the the standard paradigm as a edge encoding.
Receive encoded bytes.
Decode bytes to python objects
Manipulate python objects
Encode python objects to bytes
Receive and send can be from and to either local files or sockets
usually connected to remote systems. Transmissions can have blocks with
different encodings. In the latter case, the bytes need to be parsed
into blocks with different encodings.
In the (fairly common) special case that a transmission consists
entirely of text in *1* encoding (ignoring any transmission wrappers),
decode and encode can be incorporated into a text-mode file object. If
a transmission consists entirely or partly of binary, one can open in
binary mode and .write one or more blocks of encoded bytes, possible
with encoding data.
Terry Jan Reedy
More information about the Python-Dev