[Python-Dev] Reintroduce or drop completly hex, bz2, rot13, ... codecs (original) (raw)

Bill Janssen janssen at parc.com
Wed Jun 9 18:07:04 CEST 2010


Antoine Pitrou <solipsis at pitrou.net> wrote:

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.

Yes. And base64, and quoted-printable, etc.

Bill



More information about the Python-Dev mailing list