我必须通过USB端口读取UART设备,并将传入的字节存储在.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'),因为这会在我进一步处理数据时造成问题。
我在64位windows 10上使用python-3.7。
发布于 2018-06-12 05:00:55
尝试以下链接:https://www.devdungeon.com/content/working-binary-data-python和Python writing binary
with open("outfile.txt", "br+") as outfile:
outfile.write(ser.read())https://stackoverflow.com/questions/50809330
复制相似问题