Как преобразовать строку из 10 цифр в 5 байт, содержащую входную строку в виде шестнадцатеричных значений в Python

#python

Вопрос:

my_string = «0123456789».

Я хочу преобразовать эту строку в 5 байтов, содержащих входную строку в виде шестнадцатеричных значений(каждый байт представляет две цифры). Желаемый результат может быть чем-то вроде

 byte1 = 0x01
byte2 = 0x23
byte3 = 0x45
byte4 = 0x67
byte5 = 0x89
 

Все умные люди, пожалуйста, поделитесь своим мнением или примером кода.

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

1. Вам действительно нужны строки, байты или целые числа в качестве выходных данных? Как показано, желаемыми выходными данными являются целые числа 1, 35, 69, 103 и 137.

Ответ №1:

Метод bytes.fromhex() делает именно это:

 >>> bytes.fromhex('0123456789')
b'x01#Egx89'

>>> [hex(i) for i in bytes.fromhex('0123456789')]
['0x1', '0x23', '0x45', '0x67', '0x89']