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

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