type类型为str的byte格式的数据,如何变成type为byte类型

问题:type类型为str的byte格式的数据,如何变成type为byte类型,使之能够和str类型相互转换?

最近在处理USB数据,用的pyserial包,出现了如图所示问题:

按道理这个byte类型的格式应该是byte类型,但是却是str类型,我该如何变回byte类型?

用了spilt 还是str类型;用了encode、decode直接报错;用了str()、byte()强制转换也报错

细看了下上下文代码,是这里被强制转换了。。。问题是解决了。。剩下的就是如何转换成自己想要的数据啦~

要解决的问题是将bytes类型的内容以汉字的形式输出,但是该部分内容是字符串类型。因此首先需要将该str转换成bytes类型,再decode解码为str输出。这里需要用到的方法是encode(‘raw_unicode_escape')。当然,也可以使用decode(‘raw_unicode_escape')方法输出内容为bytes形式的字符串

s = '\xe7\xbb\x9d\xe5\x9c\xb0\xe6\xb1\x82\xe7\x94\x9f'
ss = s.encode('raw_unicode_escape')
print(type(ss))
print(ss)
 
sss = ss.decode()
print(sss)

 

参考链接:

https://www.jb51.net/article/186275.htm