| From | To | Expression |
|---|---|---|
| 45 | "45" | str(data) |
| 45 | "101101" | bin(data) |
| 45 | "2D" | hex(data) |
| 45 | "\x00\x00\x00\x2d" | struct.pack('!i', data) |
| "45" | 45 | int(data) |
| "45" | "3435" | data.encode('hex') |
| "101101" | 45 | int(data, 2) |
| "2D" | 45 | int(data, 16) |
| "2D" | "\x2d" | binascii.unhexlify(data) or data.decode('hex') |
| "\x00\x00\x00\x2d" | 45 | struct.unpack('!i', data)[0] |
| "\x2d" | "2D" | binascii.hexlify(data) |
| "3435" | "45" | data.decode('hex') |
Comments are welcome here or in my original blog post regarding this table.
Definitely handy.
binandhexadd0band0xto the beginning of the strings --'{:b}'.formatand'{:x}'.formatdon't do that.encode('hex')anddecode('hex')could use an explanation, and note thathexhas been removed as an encoding in Python 3.My fork with those changes: https://gist.github.com/agfor/5426355