Не знаете, как декодировать вывод команды pyserial read - PullRequest
0 голосов
/ 24 июня 2019

В ответ на запрос данных, когда я читаю побайтово с помощью команды чтения pyserial, я получаю вывод, который не могу понять, что делать. Некоторые байты имеют смысл, но довольно много байтов таковы: b'\xac'

Когда я пытаюсь декодировать с помощью utf-8, я получаю сообщение об ошибке: 'utf-8' codec can't decode byte 0xac in position 0: invalid start byte.

Команда list преобразуется в число (172), но это также не имеет смысла, основываясь на числах, которые я ожидаю от устройства, которое запрашиваю.

мой код для извлечения байтов:

import serial
ser=serial.Serial('Com4')
ser.baudrate=38400
readbyte=[]
byteindex=0
read byte.append(ser.read())
print(readbyte[byteindex])
while readbyte[byteindex] is not None:
    byteindex=byteindex+1
    readbyte.append(ser.read())
    print(readbyte[byteindex])

и в результате я получаю такие строки:

b'A'
b'\xb1'
b'B'
b'A'
b'\xac'
b'A'
b'\xac'
b'S'
b'D'
b'\xd8'
b'\xac'

и так далее. Кажется, что \ x может быть своего рода разделителем? Я пробовал смотреть онлайн, но ничего не нашел.

...