在python中如何将二进制字符串转换为可以进行加减运算的二进制
例如二进制字符串'0b101110'转换为可以进行二进制加减法的0b101110
如果明确是二进制字符串转换数值,主要有2种方式来处理
eval
函数,比如:a="0b101110"
b=eval(a)
print("{}={}".format(b,bin(b)))
int
函数,比如:a="0b101110"
b=int(a,base=2)
print("{}={}".format(b,bin(b)))
使用中,建议用int
的模式,特别是在网络编程处理数据中,用这种更安全,减少被攻击的可能。a='0b101110'
b=eval(a)
只是代码的书写方式,在内存中还是int型数据。
>>> eval('0b101101')
45
>>> int('0b101101',2)
45
>>> 0b101101
45
>>> a = 0b10110
>>> b = 0b1
>>> a-b
21
>>> bin(a-b)
'0b10101'
>>> int(bin(a-b), base=2)
21