Вот ваша проблема: вы объединяете строковые представления этих чисел вместе , а не сами байты. В Python 2 может быть лучший способ, но: st = str(bytearray(outgoing))
должно работать ... Черт, bytearray(outgoing)
может работать само по себе.
Итак, чтобы было ясно, чем вы были делать по сути:
>>> outgoing = [254, 5, 0, 255, 255, 255, 255, 255, 255, 255, 254, 0, 202]
>>> st = ''.join(map(str, outgoing))
>>> st
'254502552552552552552552552540202'
Но это не то, что вы хотите, вы хотите:
>>> str(bytearray(outgoing))
'\xfe\x05\x00\xff\xff\xff\xff\xff\xff\xff\xfe\x00\xca'
Хотя, как я уже говорил, в зависимости от того, какого клиента вы используете ,
>>> bytearray(outgoing)
bytearray(b'\xfe\x05\x00\xff\xff\xff\xff\xff\xff\xff\xfe\x00\xca')
вполне может быть достаточно.
Обратите внимание: если кто-то находится в подобной ситуации на Python 3, тогда вам просто нужно:
>>> outgoing = [254, 5, 0, 255, 255, 255, 255, 255, 255, 255, 254, 0, 202]
>>> bytes(outgoing)
b'\xfe\x05\x00\xff\xff\xff\xff\xff\xff\xff\xfe\x00\xca'