如何在python中将长二进制字符串转换为整数? (基数> 36)

时间:2015-11-19 02:02:03

标签: python bit-manipulation bitwise-operators bit bitwise-and

我有一个长度为128的字符串,并希望对其执行按位AND。为此,我想先将位串转换为整数。

int("00000010000....0000000",128)

但是,python会出错:

ValueError: int() base must be >= 2 and <= 36

我的问题是如何在Python中将长位字符串转换为整数?或者有没有其他方法我可以做Bitwise AND而不将位串转换为整数?

2 个答案:

答案 0 :(得分:4)

int()需要字面和基础。你要做的是转换基数为2的文字。文字可以是任意长度:

int("00000010000....0000000", 2)

int()的python文档可以在这里找到:Python2 Python3

答案 1 :(得分:0)

如果你想创建你的功能,请使用functool.partial

  来自functool import partial

     

base2int = partial(int(),2)