Я получаю орду из 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