Я хочу создать строку длиной 5 гекс-байтов, которая будет отправляться через сокет. Я хочу, чтобы 255 пакетов меняли третий байт инкрементно. Как я могу это сделать? Нечто подобное этому коду:Вставить шестнадцатеричное значение в середине строки python
i=0
while True:
a="\x3f\x4f"+hex(i)+"\x0D\x0A"
socket.send(a)
i=i+1
Проблема заключается в том, что этот код представляет 0x0 (30 78 30) вместо 00 в первом цикле, например.
Спасибо
В качестве побочного примечания вы можете посмотреть 'bytearray'. Это своего рода гибрид между «str» и «list» из маленьких целых чисел. Например, вы можете построить его как 'bytearray ('\ x3f \ x4f \ x00 \ x0d \ x0a')' или как 'bytearray ([0x3f, 0x4f, 0x00, 0x0d, 0x0a])', затем выполните 'a [2 ] = i' без необходимости конвертировать, а также делать 'socket.send (a)' без необходимости конвертировать. – abarnert