[Python-Dev] Reintroduce or drop completly hex, bz2, rot13, ... codecs

Baptiste Carvello baptiste13z at free.fr
Thu Jun 10 12:27:33 CEST 2010


Victor Stinner a écrit :
> 
> I suppose that each codec will have a different list of accepted input and 
> output types. Example:
> 
>    bz2: encode:bytes->bytes, decode:bytes->bytes
>    rot13: encode:str->str, decode:str->str
>    hex: encode:bytes->str, decode: str->bytes 

A user point of view: please NO.

This might be more consistent with the semantics, but it forces users to scratch 
their head each time to find out which types are involved. I'd rather all 
methods take and return the same types, independant of codec, that is:

.encode : str->bytes
.decode : bytes->str
.(un)transform : same type, str->str or bytes->bytes

All other uses can be trivially done with .encode('ascii')/.decode('ascii'). 
Changing the type of *ascii* text is easy, understanding bytes vs str semantics 
is not!

Cheers,
B.



More information about the Python-Dev mailing list