首页 > 解决方案 > 在 Python 中指定二进制值的开始和结束

问题描述

我在 Python 中处理二进制值。假设我有 -

1000000100001011111000110010000011001010101100111101

我想在这条线中指定起点和终点,对其进行切片并将它们分别存储在不同的变量中。

有没有办法在 Python 中将二进制值分成多个部分?

输入/输出示例:输入

data = '1000000100001011111000110010000011001010101100111101'

输出

a = 10000
b = 001
c = 0000
d = 1011
e = 11100
f = 01100
g = 10
h = 0000
i = 1100
j = 10101011
k = 00111101

标签: pythontypesbinaryhex

解决方案


如果你的二进制值在一个字符串中,并且你有一个想要从中获取的长度列表,你可以迭代并从字符串的前面切掉这些长度,如下所示 -</p>

data = '1000000100001011111000110010000011001010101100111101'
lengths = [5,3,4,4,5,5,2,4,4,8,8]
chunks = []

for l in lengths:
    chunk, data = data[:l], data[l:]
    chunks.append(chunk)

这将为您提供以下内容chunks

['10000',
 '001',
 '0000',
 '1011',
 '11100',
 '01100',
 '10',
 '0000',
 '1100',
 '10101011',
 '00111101']

推荐阅读