[Python-Dev] Reintroduce or drop completly hex, bz2, rot13, ... codecs
R. David Murray
rdmurray at bitdance.com
Thu Jun 10 14:18:08 CEST 2010
On Thu, 10 Jun 2010 12:27:33 +0200, Baptiste Carvello <baptiste13z at free.fr> wrote:
> Victor Stinner wrote:
>
> > 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 sc=
> ratch =
>
> 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!
+1
Consistency in interface is more important in *this* context than the
sensibleness of any particular transform.
--
R. David Murray www.bitdance.com
More information about the Python-Dev
mailing list