前言:
本人经典大学生没有认真听课,但是期末要做项目考核!
做项目的时候遇到一串口十六进制倒置的问题,是单片机返回来的十六进制数经过提取在按两位两位倒序再换成十进制,才得到目标数据。
初学Python,查了各种字符串的切法,就是没查到按两位两位切再倒序的算法。
自己又是查又是冥思苦想,就想要一个通用的方法,弄了很久,还是无果......
于是灵机一动,直接粗暴切片拼接。
想想有时候,定制的简单也不失是一种高效率的方法
代码:
import binascii
data = str(binascii.b2a_hex(t.read(num)))[2:-1][14:22] # 十六进制数据提取出其中八位数据位 dex = data[6:8]+data[4:6]+data[2:4]+data[0:2]#直接粗暴切片拼接 print(dex)
真的通用算法:
我觉得可以用递归来做。不过有一个大佬解决了这个问题,方法很简单就是代码有点复杂
详情见https://blog.csdn.net/wazh012/article/details/4974464