【python】bytearray和string之間轉換,用在需要處理二進制文件和數據流上


最近在用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''數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM