Integer as raw hex string?

MRAB python at mrabarnett.plus.com
Mon Dec 24 13:15:51 EST 2012


On 2012-12-24 15:58, Tim Chase wrote:
> On 12/24/12 09:36, Roy Smith wrote:
>> 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.
>
> Would something like
>
>    h = "%08x" % i
>
> or
>
>    h = "%x" % i
>
> work for you?
>
Or:

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




More information about the Python-list mailing list