Преобразование строк в шестнадцатеричные байты

У меня есть эта подпись b'V\xae\xc1\x0bU:\xcaV0\xcbBO@\xe6\xf7\x9c\xb3\xe4R\xa0\xb4\x10\xcf\x1e\x9b\xc3\x03\t\x84\xf9\x92!\xd2p\x12\x16*\x8biJ\xfeNq\x11\xfa5\x05\n\x19*9\xdak\x989j\xd8:\x7f\xdd\x03\xa2\xd7\x1c'

но он в формате строки. Я использую

w3.eth.account.recover_message(encode_defunct(
        text=account_address.challenge), signature=signature)

чтобы получить адрес обратно, но так как он принимает только <класс 'hexbytes.main.HexBytes'> формат. Поэтому может ли кто-нибудь помочь мне преобразовать это значение в Hexbytes, но как вы видите, значение строки не должно измениться.

Я использую django.

s = b"V\xae\xc1\x0bU:\xcaV0\xcbBO@\xe6\xf7\x9c\xb3\xe4R\xa0\xb4\x10\xcf\x1e\x9b\xc3\x03\t\x84\xf9\x92!\xd2p\x12\x16*\x8biJ\xfeNq\x11\xfa5\x05\n\x19*9\xdak\x989j\xd8:\x7f\xdd\x03\xa2\xd7\x1c"
def hex_bytes(b):
    return ":".join("{:02x}".format(c) for c in b)

print(hex_bytes(s))
Вернуться на верх