Python2在組織數據的時候可以直接用chr把字節內容添加到字符串裏進行發送,而在Python3中chr返回的是Unicode,所以超過ASCII能表示的範圍時chr返回的將會是兩個字節從而使數據被破壞,因而在Python3中不能再用字符串來組織數據,而應該用bytearray來保存數據。
示例代碼:
Python2:
data = ''
data = data + chr(datum)
ser.write(data.encode())
Python3:
data = bytearray()
data.append(datum)
ser.write(data)