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

2024-05-10 12:48:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

现在我需要得到二进制的实际值,而不是字符串
但是当我尝试用

for bit in BitStream:
    BitInteger = bin(bit)

但是它给我错误信息,因为str对象不能解释为索引
但当我先把它改成int,然后我把它改成二进制

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

二进制值不是字符串中的实际值。但实际二进制的值被视为变为二进制的整数。
如何获得实际值?你知道吗


Tags: 对象字符串in示例列表forbin进程
1条回答
网友
1楼 · 发布于 2024-05-10 12:48:07

不清楚,但我明白:

>>> 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']]

相关问题 更多 >