我收到一大群1位或2位十六进制值,它们通过串行总线用空格分隔。我希望我的程序将这些十六进制值转换为相应的ASCII字符,并将其写入.txt文件。我相信我会出错,因为.decode(“hex”)函数需要一个2位数的值,我已经尝试在下面的代码中修复这个值
while ser.in_waiting>0:
if ser.in_waiting != space:
temp = ser.read()
if len(temp)<2:
temp = '0' + temp
print temp
asciiVal = temp.decode("hex")
myFile.write(asciiVal)
这不是完整的代码,而是与我得到的错误相关的区域
我得到了以下错误:
>File "C:\Python27\lib\encodings\hex_codec.py", line 42, in hex_decode
>output = binascii.a2b_hex(input)
>TypeError: Non-hexadecimal digit found
目前没有回答
相关问题 更多 >
编程相关推荐