Я должен прочитать устройство UART через порт USB и сохранить входящие байты в файле .txt
.
Я использую следующую команду:
while 1:
x=ser.read()
f.write(str(x)) #f is the file object
Однако это преобразует некоторыеbytes
для соответствующих им ascii
символов и сохраняет некоторые из них как
Пример:
b'\x55'
сохраняется как b'U'
.
Но b'\xaa'
сохраняется как сама строка (т. Е. b'\xaa'
).
Если я использую chr(int.from_bytes())
, выдается следующая ошибка:
UnicodeEncodeError: 'cp932' codec can't encode character '\xaa' in position 0: illegal multibyte sequence
Существует ли метод, с помощью которого я могу хранить все входящие байты в виде байтов, не преобразуя некоторые из них в ascii
символов (например: b'\x55'
хранится в виде строки b'\x55'
, а не b'U'
), поскольку это вызывает проблемы, когдаЯ обрабатываю данные дальше.
Я использую python-3.7 на 64-битных окнах 10