如何将字符串转换为Base10表示形式?

2024-05-19 10:53:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有python模块可以帮助我将字符串转换为64位整数? (此字符串的最大长度是8个字符,因此它应该适合一个long)。在

我想避免编写自己的方法。在

示例:

Input String   Hex          result (Base-10 Integer)
'Y'            59           89
'YZ'           59 5a        22874
...

Tags: 模块方法字符串示例inputbasestring整数
3条回答

另一种方式:

sum(ord(c) << i*8 for i, c in enumerate(mystr))

我不认为有一个内置的方法来做到这一点,但它是很容易烹调:

>>> int("".join([hex(ord(x))[2:] for x in "YZ"]), 16)
22874

这通过基数16,当然可以优化。我将把它留作“练习”。在

这是^{}的作业:

>>> s = 'YZ'
>>> struct.unpack('>Q', '\x00' * (8 - len(s)) + s)
(22874,)

或者有点棘手:

^{pr2}$

相关问题 更多 >

    热门问题