将二进制字符串转换为整数
我想把一个二进制的字符串(就是用0和1组成的数字)转换成一个整数,像这样:
>>> '11111111'.fromBinaryToInt()
255
请问在Python中有没有办法做到这一点呢?
10 个回答
38
另一种方法是使用bitstring
模块:
>>> from bitstring import BitArray
>>> b = BitArray(bin='11111111')
>>> b.uint
255
需要注意的是,无符号整数(uint
)和有符号整数(int
)是不同的:
>>> b.int
-1
你的问题实际上是在询问无符号整数的表示,这一点非常重要。
bitstring
模块并不是必须的,但它提供了很多高效的方法,可以将输入转换成比特(即二进制位)以及从比特转换成其他形式,还可以对它们进行操作。
53
在Python的交互界面里,直接输入0b11111111就可以了:
>>> 0b11111111
255