[Python-ideas] Readability of hex strings (Was: Use of coding cookie in 3.x stdlib) (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Wed Jul 28 06:39:41 CEST 2010
- Previous message: [Python-ideas] Counter
- Next message: [Python-ideas] Distutils setup.py & per user site packages
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(another attempt at getting this discussion over on python-ideas where it belongs)
On Tue, Jul 27, 2010 at 10:12 AM, Steven D'Aprano <steve at pearwood.info> wrote:
Since it only takes a pair of small helper functions to convert hex dumps in the form "XXXX XXXX ..." to and from byte strings, I don't see the need for new syntax and would vote -1 on the idea. However, I'd vote +0 on a matching bytes.tohex() method to partner with the existing bytes.fromhex().
Having written my own bytes formatting function to do exactly as Anatoly asks (i.e. display a string of binary data as hex characters with spaces between each byte), I can understand the desire to have something like that readily available.
The following is not particularly intuitive:
" ".join(format(c, "x") for c in b"abcdefABCDEF") '61 62 63 64 65 66 41 42 43 44 45 46'
The 2.x equivalent is just as bad:
" ".join(format(ord(c), "x") for c in "abcdefABCDEF") '61 62 63 64 65 66 41 42 43 44 45 46'
However, I'll caveat that support by pointing out that the basic formatting quickly becomes inadequate for many purposes. Personally, I quickly replaced it with a fixed width dump format that provides the ASCII character dumps over on the right hand side the way most hex editors do).
Cheers, Nick.
-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-ideas] Counter
- Next message: [Python-ideas] Distutils setup.py & per user site packages
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]