【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''数据

 

posted @ 2015-09-20 12:02  吾乐  阅读(24354)  评论(1编辑  收藏  举报