ValueError: не шестнадцатеричное число, найденное в аргументе fromhex () в позиции - PullRequest
1 голос
/ 24 июня 2019

У меня есть шестнадцатеричная строка

hexDecoded = '0xa506f7374696e6720446174653a204a756c792031322c2032303038205b45426f6f6b20233238395d0a52656c6561736520446174653a204a756c792c20313939350a5b4c61737420757064617465643a204a616e756172792031332c20323031325d0a0a0a4c616e67756167653a20456e676c6973680a0a0a2a2a2a205354'

При попытке получить текст как

text = bytearray.fromhex(hexDecoded.lstrip('0x')).decode()

Я получаю ошибку

ValueError: не шестнадцатеричное число, найденное в аргументе fromhex () в позиции 255

Я не могу понять, почему код смотрит на положение 255 в шестнадцатеричной строке, когда длина вырезанной шестнадцатеричной строки составляет всего 255.

Любые идеи, чего здесь не хватает.

Спасибо за помощь

1 Ответ

3 голосов
/ 24 июня 2019

Это потому, что строка содержит нечетное количество цифр, оставляя завершающий 4 как одиночный.

bytearray.fromhex('4') выдает ту же ошибку.

Если вы измените ее на 04, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...