有没有什么python模块可以帮我把字符串转换成64位整数?(此字符串的最大长度为8个字符,因此它应该适合于一个长字符串)。
我希望避免编写自己的方法。
示例:
Input String Hex result (Base-10 Integer)
'Y' 59 89
'YZ' 59 5a 22874
...发布于 2012-05-23 17:17:31
这是struct的工作
>>> s = 'YZ'
>>> struct.unpack('>Q', '\x00' * (8 - len(s)) + s)
(22874,)或者更棘手一点:
>>> int(s.encode('hex'), 16)
22874发布于 2012-05-23 17:13:56
我不认为有一个内置的方法可以做到这一点,但它很容易炮制出来:
>>> int("".join([hex(ord(x))[2:] for x in "YZ"]), 16)
22874这是通过基数16实现的,当然可以进行优化。我会把它留作“练习”。
发布于 2012-05-23 17:17:18
另一种方式:
sum(ord(c) << i*8 for i, c in enumerate(mystr))https://stackoverflow.com/questions/10716796
复制相似问题