以十六进制格式发送串口数据我在第一行有字符串格式的数据,在第二行转换为十六进制字符串,但在发送python - serial时,它应该在第三行格式化。我想在最初和每2次计数后插入'\x'
。请帮助相同的
1st line - string ='s00123'
2nd line - "01733030313233"
3rd lline - `x01\x73\x30\x30\x31\x32\x33`
答案 0 :(得分:0)
有几种方法可以解决这个问题。我能想到的最干净的事情就是创建一个新的list
并将每两个字符添加到list
,然后join
将它们与添加的\x
一起添加1}}。使用binascii
模块可能有更好的方法,但我现在似乎无法想到。
hexString = 'ab1234'
hexArray = list()
for i in range(0, len(hexString), 2):
val = '\x' + hexString[i:i+2]
hexArray.append(val)
finalResult = ''.join(hexArray)
当然这段代码不会检查无效输入,因此您必须在其中编写一些错误检查。