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

Antoine Pitrou solipsis at pitrou.net
Wed Jun 9 13:40:50 CEST 2010


Le mercredi 09 juin 2010 à 12:38 +0100, Michael Foord a écrit :
> On 09/06/2010 12:35, Antoine Pitrou wrote:
> > On Wed, 09 Jun 2010 10:41:29 +0200
> > "M.-A. Lemburg"<mal at egenix.com>  wrote:
> >    
> >> The above example will read:
> >>
> >>      >>>  b'abc'.transform("hex")
> >>      b'616263'
> >>      >>>  b'616263'.untranform("hex")
> >>      b'abc'
> >>      
> > This doesn't look right to me. Hex-encoded "data" is really text (it's
> > a textual representation of binary, and isn't often used as an opaque
> > binary transport encoding).
> > Of course, this is not necessarily so for all codecs. For
> > base64-encoded data, for example, it is debatable whether you want it
> > as ASCII bytes or unicode text.
> >    
> 
> But in both cases you probably want bytes -> bytes and str -> str. If 
> you want text out then put text in, if you want bytes out then put bytes in.

No, I don't think so. If I'm using hex "encoding", it's because I want
to see a text representation of some arbitrary bytestring (in order to
display it inside another piece of text, for example).
In other words, the purpose of hex is precisely to give a textual
display of non-textual data.




More information about the Python-Dev mailing list