将已经二进制的字符串转换为二进制python

时间:2014-11-26 08:29:47

标签: python binary converter

我已经有一个包含一些字符串的列表(作为其他进程的输出),如(例)

BitStream = ['011000111001', '100100111001', '100101100110', ...]

现在我需要将实际值作为二进制,而不是字符串
但是当我尝试用

将其改为二进制时
for bit in BitStream:
    BitInteger = bin(bit)

但是它给我错误消息,因为str对象不能被解释为索引
但是当我尝试首先将其更改为int时,我将其更改为二进制,

for bit in BitStream:
    BitInteger = int(bit)
    BitIntegerBin = bin(BitInteger)

二进制值不是字符串中的实际值。但实际二进制的值被视为整数,变为二进制。
我如何获得实际价值?

1 个答案:

答案 0 :(得分:2)

不清楚但我明白了:

>>> a
'011000111001'
>>> bin(int(a,2))
'0b11000111001'      # python valid binary format
>>> int(a,2)         # integer
1593

代码整数和二进制:

>>> BitStream = ['011000111001', '100100111001', '100101100110']
>>> [ [int(x,2),bin(int(x,2))] for x in BitStream ]
[[1593, '0b11000111001'], [2361, '0b100100111001'], [2406, '0b100101100110']]