Python JSON字符串(包含十六进制)到HEX

时间:2013-06-18 17:37:37

标签: python json string hex

我正在尝试在hexes范围之间获得随机十六进制值:

random.randint(0xfff000, 0xffffff)

我从JSON获得范围限制,作为字符串。

{"range": "0xfff000,0xffffff"}

如何将这些字符串(拆分后)转换为十六进制值?

2 个答案:

答案 0 :(得分:8)

使用内置int()功能,基数为16

>>> int('0xfff000', 16)
16773120
>>> int('0xfff000', 16) == 0xfff000
True

答案 1 :(得分:3)

您可以使用以下内容:

from random import randint

d = {"range": "0xfff000,0xffffff"}
print randint(*(int(i, 16) for i in d['range'].split(',')))
# 16775837

然后展开它以自定义您自己的随机整数函数,例如:

from random import randint
from functools import partial

d = {"range": "0xfff000,0xffffff"}
my_random = partial(randint, *(int(i, 16) for i in d['range'].split(',')))
print [my_random() for n in range(5)]
# [16776381, 16774349, 16776922, 16773212, 16775873]