Как преобразовать hex в ascii и сохранить в файл .txt в Python 2.7 - PullRequest
0 голосов
/ 15 апреля 2019

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