如何在Python 2.7中将十六进制转换为ASCII并存储在.txt文件中

时间:2019-04-15 11:16:27

标签: python hex ascii

我收到一串1或2位数的十六进制值,并通过串行将其用空格分隔。我希望程序将这些十六进制值转换为相应的ASCII字符,并将其写入.txt文件中。我相信我遇到了错误,因为.decode(“ hex”)函数期望使用两位数的值,我已尝试在下面的代码中修复该值。

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

0 个答案:

没有答案