Integer as raw hex string?

41 views
Skip to first unread message

Roy Smith

unread,
Dec 24, 2012, 10:36:03 AM12/24/12
to
I have an integer that I want to encode as a hex string, but I don't
want "0x" at the beginning, nor do I want "L" at the end if it happened
to be a long. The result needs to be something I can pass to int(h, 16)
to get back my original integer.

The brute force way works:

h = hex(i)
assert h.startswith('0x')
h = h[2:]
if h.endswith('L'):
h = h[:-1]

but I'm wondering if there's some built-in call which gives me what I
want directly. Python 2.7.

Tim Chase

unread,
Dec 24, 2012, 10:58:01 AM12/24/12
to Roy Smith, pytho...@python.org
Would something like

h = "%08x" % i

or

h = "%x" % i

work for you?

-tkc


Roy Smith

unread,
Dec 24, 2012, 11:21:15 AM12/24/12
to
In article <mailman.1256.1356364...@python.org>,
Duh. Of course. Thanks.

MRAB

unread,
Dec 24, 2012, 1:15:51 PM12/24/12
to pytho...@python.org
On 2012-12-24 15:58, Tim Chase wrote:
> On 12/24/12 09:36, Roy Smith wrote:
> Would something like
>
> h = "%08x" % i
>
> or
>
> h = "%x" % i
>
> work for you?
>
Or:

h = "{:x}".format(i)

Reply all
Reply to author
Forward
0 new messages