Я преобразования долго или ИНТ в ByteArray, в Python с использованием структурыпитон Долго массив байтов 2 байта, используя
ба = struct.pack ('H', 12)
вывод: «\ x0c \ x00' длина 2 байта
но если я конвертировать ба = struct.pack ('H', 12345)
вывод: '90' мне нужно кодировать заколдовать для лучшего из положить ба .encode ('hex') в этом случае выход выход: 3930 и длина 4
Почему это происходит, он должен дать результат 2 байта без кодирования?
мой usecase - мне нужно преобразовать long в bytearray желаемого размера bytearray.
Я действительно не понимаю, что ваше достижение. Вы хотите получить 'b '0c00" 'с вводом' 12'? – kazbeel
На самом деле я хотел создать общую функцию с длиной ввода и вывести как 2 байтовый массив байтов, используя struct, если мой ввод равен 12, вывод «\ x0c \ x00» длиной 2 байта, как и ожидалось, но когда я даю ввод как 12345, который составляет <2 ** 16 - 1 (может вместить в два байта), выход равен «90», который также имеет два байта, но я ожидаю, что вывод будет «0x3039», как в случае 12 в качестве входного сигнала, Просто хотел знать, почему функция возвращает разные в случае ввода как 12345 – atulthree