tablica byte

0

Tablica bytes[]
Do tablicy byte chciałbym dodawać znaki oraz liczby.
Macie może pomysł jak to zrobić?

comOk = False
startPacketReceive = ['O', 'K', 1, comOk]
for i in startPacketReceive:
    print(type(i))

Result:
<class 'str'>
<class 'str'>
<class 'int'>
<class 'bool'>

W c# widziałem podobny przypadek z rzutowaniem na na (byte)'o'. Jak to można zrobić w pythonie?

Próbowałem jeszcze tak i również się nie udało:

x = bytes('c', encoding='utf_8')
c = bytearray()
c.append(x)

tak również nie działa:

d = bytearray()
c = ord('c')
d.append(c)
print(type(d[0]))

result
<class 'int'>

1

Tak ma być, bo byte() zwraca Ci sekwencję bajtów, czyli integerów (od 0 do 256), które są drukowane, jako swoje kody ASCII, i jest to obiekt immutable. Zaś bytearray() zwraca, już mutowalną tablicę bajtów - czyli też integerów.
Jak chcesz dodawać różne typy do jednej struktury to Użyj zwykłej listy:

list1 = [1, "q", b'c']
print([type(e) for e in list1]) # -> [<class 'int'>, <class 'str'>, <class 'bytes'>]
print(list1) # -> [1, 'q', b'c']

1 użytkowników online, w tym zalogowanych: 0, gości: 1