用Python从串口按行读取数据 出现错误 UnicodeDecodeError utf-8 codec cant decode byte 0x80 in position 0 invalid start byte我不知道编码
问题出在读取串口数据时使用了错误的编码格式。可以尝试将编码格式改为gbk或者utf-16等其他编码格式进行尝试。下面是一个读取串口数据并设置编码格式为gbk的示例代码:
import serial
ser = serial.Serial('COM1', 9600, timeout=1)
while True:
data = ser.readline().decode('gbk')
print(data)
如果还是出现编码错误,可以尝试使用Python自带的chardet库来自动检测编码格式:
import serial
import chardet
ser = serial.Serial('COM1', 9600, timeout=1)
while True:
data = ser.readline()
encoding = chardet.detect(data)['encoding']
print(data.decode(encoding))
原文地址: https://www.cveoy.top/t/topic/eFKS 著作权归作者所有。请勿转载和采集!