我生成了一个随机的16字节字符串。看起来像这样:

b'\xb68 \xe9L\xbd\x97\xe0\xd6Q\x91c\t\xc3z\\'


我想将其转换为(正)整数。用Python执行此操作的最佳方法是什么?

感谢您的帮助。

最佳答案

在Python 3.2+中,您可以使用int.from_bytes()

>>> int.from_bytes(b'\xb68 \xe9L\xbd\x97\xe0\xd6Q\x91c\t\xc3z\\', byteorder='little')
122926391642694380673571917327050487990


您还可以使用“大”字节顺序:

>>> int.from_bytes(b'\xb68 \xe9L\xbd\x97\xe0\xd6Q\x91c\t\xc3z\\', byteorder='big')
242210931377951886843917078789492013660


您还可以指定是否要使用二进制补码表示形式。有关更多信息:https://docs.python.org/3/library/stdtypes.html

09-10 02:43
查看更多