Я читаю символы с ультразвукового датчика, который выводит в формате RS232 - он отправляет R, за которым следуют 4 цифры, а затем возврат каретки, например «R1597 \ r ».Детекторы от датчика rs232 имеют «b» спереди в python 3
В python3 этому предшествует «b», так что он становится b'R1597 \ r '. Я искал другие связанные вопросы о переполнении стека, и, насколько я понимаю, это просто указывает, что символы являются байтовыми литералами, а «b» не находится в фактических данных. Однако код;
char=ser.read()
while char != 'R':
.......
не работает - он просто петли навсегда ждет «R».
Но если я использую код;
char=ser.read()
while char != b'R':
.....
работает - петли до тех пор, пока не появится b'R ', а затем перейдет к следующему фрагменту кода.
Итак, теперь я смущен, имеет ли python3 «b» из данных, которые мне теперь нужно снять?
Любая помощь очень ценится.
Cheers.
Возможный дубликат [В Python3, когда я читаю двоичный файл, почему «b» добавляется к моему контенту?] (Http://stackoverflow.com/questions/15845074/in-python3-when-im -reading-а-бинарного-файл-почему-делает-б-стать-предваряется к моему-с) –