[Python-ideas] Stop displaying elements of bytes objects as printable ASCII characters in CPython 3
Cameron Simpson
cs at zip.com.au
Thu Sep 11 01:48:38 CEST 2014
As someone who uses ASCII or more commonly UTF-8 byte sequences, I find the
current ascii-ish default display handy. That said...
On 10Sep2014 20:57, Steven D'Aprano <steve at pearwood.info> wrote:
>However, I do support Terry's suggestion that bytes (and, I presume,
>bytearray) grow some sort of easy way of displaying the bytes in hex.
>The trouble is, what do we actually want?
>
>b'Abc' --> '0x416263'
To my eye that is a single number expressed in base 16 and would
imply an endianness. I imagine you really mean a transcription of
the bytes in hex, with a leading 0x to indicate the transcription.
But it is not what my eye sees.
Of course, the natural transcription above implies big endianness, as is only
right and proper:-)
Why not give bytes objects a .hex method, emitting bare hex with no leading
0x? That would be my first approach.
>b'Abc'.decode('hexescapes') --> '\x41\x62\x63'
OTOH, this is really neat. And .decode('hex') for the former?
Cheers,
Cameron Simpson <cs at zip.com.au>
It never will rain roses; when we want to have more roses we must plant
more trees. - George Eliot, The Spanish Gypsy
More information about the Python-ideas
mailing list