在Python中指定二进制值的开始和结束

问题描述 投票:1回答:1

我在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
python types binary hex
1个回答
0
投票

如果您的二进制值在字符串中,并且您有一个要从中获取的长度列表,则可以从字符串的前面迭代并剪掉这些长度,如下所示 -

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']
© www.soinside.com 2019 - 2024. All rights reserved.