Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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)

0 new messages