как преобразовать шестнадцатеричную строку нечетной длины в байтовый формат в python 3.5 и выше?

#python

#python

Вопрос:

в python 3.7.2 я пытаюсь протестировать код тестовой сети биткойнов. я пытаюсь преобразовать закрытый ключ тестовой сети нечетной длины в байтовый формат, но независимо от того, что я пытаюсь, я не могу этого сделать, всегда возникает какая-то ошибка, главным образом потому, что все функции, которые я пробовал, не могут обрабатывать адрес нечетной длины. есть предложения, ребята? до сих пор я пытался

 import codecs 
odd_len_str = "93AZYqkwkPsKAjHg7FqjXVMukwRrXkzGXYFNUsov2zFhDdfH8DT" #length=51
decode_hex = codecs.getdecoder("hex_codec") 
decode_hex(odd_len_str)[0]

import binascii
binascii.hexlify(odd_len_str) #doesn't work

bytes.fromhex(odd_len_str) #doesn't work
 

сообщение об ошибке из первого метода:

 _codec.py", line 19, in hex_decode
    return (binascii.a2b_hex(input), len(input))
binascii.Error: Odd-length string
 

Ответ №1:

Что такое odd_len_str ? Вы не показываете нам, что это такое.

Комментарии:

1. odd_len_str = «93azyqkwkpskajhg7fqjxvmukwrrxkzgxyfnusov2zfhdddfh8dt»

Ответ №2:

извините, ребята. слышал, что я пытался преобразовать адрес битной монеты непосредственно в байтовый тип, предполагая, что они в шестнадцатеричной форме, но это не так, поэтому сначала нужно преобразовать их в шестнадцатеричную запись, используя base58, а затем преобразовать их в байты