最近在用python搞串口工具,串口的數據流基本讀寫都要靠bytearray,而我們從pyqt的串口得到的數據都是string格式,那么我們就必須考慮到如何對這兩種數據進行轉換了,才能正確的對數據收發。
先考慮的接收串口數據,那么格式是bytearray,下面需要處理成string格式來顯示:
#按string來顯示,byarray代表接收到的數據
readstr = byarray.decode('utf-8')#這樣就直接轉換成str格式
#強制轉換
readstr = str(byarray)#用這種方式得到的數據會帶有b''字符
#將讀取的數據按十六進制字符顯示,能讓我們直接看到最底層的數據格式
readstr = ' '.join(hex(x) for x in byarray)#這句能把byarray里的數據遍歷一遍轉換成hex格式,而且用空格相連
將string格式轉換成bytearray:
#wrstr代表從串口讀到的字符串 byarray = wrstr.encode() #得到b''數據
