Say Ich habe eine bytearray wie die folgenden: mask = bytearray([0b0001, 0b0100, 0b0111])
,
wobei jedes Bit eine bestimmte Flag darstellt. Ich möchte eine Flagge auf Scheiben des Maske Array hinzufügen wie folgt:
mask[0:2] = mask[0:2] | 0b1000
aber ich bekomme eine Typeerror:
TypeError: unsupported operand type(s) for |: 'bytearray' and 'int'
was wäre die eleganteste Art und Weise, dies zu tun?Bitmaske Operationen auf Scheiben Python ByteArrays
schon versucht, diese, wie auch:
masks[0:2] = bytearray([bin(m | 0b0001) for m in masks[0:2]])
mit Fehlern:
string must be of size 1
Dank!
Danke - ich habe nicht einmal an numpy gedacht. Ich kann etwas tun wie: 'masks [0: 2] = np.bitwise_or (Masken [0: 2], 0b0001)' und dann meine veränderten Flags mit 'map (np.binary_repr, masks) 'sehen – user5283407