Я сейчас работаю над проектом BlueTooth LE, модуль bluepy требует, чтобы я отправлял данные в байтах ...
Я хотел бы отправить b '\ xFF', поэтому я пишу:
bytes('\xff', 'utf-8')
, что возвращает:
b'\xc3\xbf'
Исследуя немного дальше, я обнаружил, что на самом деле происходит для всех чисел uint-8 выше 127.
Копаясь в поисках решения, я нашел множество вопросов и ответов, которые предлагают использовать struct.unpack, извините, не повезло ...
>>> type(struct.unpack('B', b'\xff')[0])
<class 'int'>
struct.unpack возвращает номер класса int.
К настоящему времени я обнаружил, что:
b'\xFF'
на самом деле создает байт со всеми ... Однако я все же хотел бы, чтобы мне объяснили это поведение как bytes (), так и struct.unpack (). (Python 3.5.3 на Raspberry Pi 3)
Большое спасибо,
KK