我在将十六进制更改为int/char(char最好)时遇到了一些困难。通过网站; http://home2.paulschou.net/tools/xlate/我在十六进制框中输入C0A80026的十六进制数,在DEC/CHAR框中它正确地输出了我期望它包含的IP。Python - 将Hex转换为INT/CHAR
这些数据是从外部数据库中提取的,我不知道它是如何保存的,所以我必须使用的是十六进制字符串本身。
我曾尝试使用binascii.unhexlify
函数来查看我是否可以解码它,但我担心我可能没有足够的十六进制理解来欣赏我正在做的事情。
只使用int()强制转换打印也没有产生所需的结果。我需要一些方法来从该十六进制字符串(或类似的)转换为原始IP。
更新:对于任何未来遇到此问题的人,我稍微修改了下面的答案,以便通过使用提供确切的打印输出;
dec_output = str(int(hex_input[0:2], 16)) + "." + str(int(hex_input[2:4], 16)) + "." + str(int(hex_input[4:6], 16)) + "." + str(int(hex_input[6:8], 16))
[转换十六进制字符串的可能重复在Python中为int](http://stackoverflow.com/questions/ 209513/convert-hex-string-to-int-in-python) –
该解决方案不适用于我的问题 – Draineh
请准确解释重复问题不是重复的。细节很重要。 “对我的问题不起作用”太模糊,无法表达任何内容。 –