Python добавляет один бит в bytearray - PullRequest
1 голос
/ 23 апреля 2019

У меня есть байтовый массив, содержащий несколько байтов, в настоящее время он выглядит следующим образом (преобразован в ASCII):

['0b1100001', '0b1100010', '0b1100011', '0b10000000']

Мне нужно добавить к этому 0 битов, это возможно, или мне нужно добавить полные байты? Если да, то как мне это сделать?

Ответы [ 2 ]

1 голос
/ 23 апреля 2019

Куда вам нужно добавить биты? Каждый элемент вашего списка или дополнительный элемент, который содержит все 0?

Бывший: myList[0] = myList[0] * 2 # ASL

позже myList.append(0b000000)

0 голосов
/ 23 апреля 2019

Я определил функцию, просто делая ее только с 'str' и 'list', потому что это просто пример.

>>> def padingbin(*a):
...     if isinstance(a[0],str):
...         return a[0]+a[1]
...     if isinstance(a[0],list):
...         print('What is args:' ,a)
...         print('What we generatd: ',[a[1] for x in range(len(a[0])) ],end='\n\n')

            #the val calls every element of list and i is your generated pad

...         return [a[0][val]+i for val in range(len(a)) for i in [a[1] for x in 
range(len(a[0])) ]]
... 

>>> padingbin(['0b10101','0b1101','0b10110'],'00')
What is args: (['0b10101', '0b1101', '0b10110'], '00')
What we generatd:  ['00', '00', '00']  #and combining this 3 pad with 3 element in list

['0b1010100', '0b1010100', '0b1010100', '0b110100', '0b110100', '0b110100']

>>> padingbin('0b1101','00')
'0b110100'

Вы имеете в виду это? Надеюсь, я помог. Спасибо ..

...