Как соединить байтовую строку вместе?Сделать b '\ x1D \ x12', чтобы стать b '\ x121D'? - PullRequest
0 голосов
/ 15 мая 2019

Мне просто нужно соединить последние 2 байта моей строки байтов.

Я попытался сложить два вместе, однако это просто так ... сложить их вместе.Я также пытался преобразовать это в байтовый массив и все еще не могу заставить его работать.

buf = b'\x00\x80\x03\x00\x3A\x04\x01\x1D\x12'
try1 = buf[6]+buf[5]

Я ожидал получить

try1 = b'\x121D'

Я действительно получил:

try1 = b'\x12\x1D'

Я также пытался:

buf_ret = b'\x00\x80\x03\x00\x3A\x04\x01\x1D\x12'
number1 = buf_ret[len(buf_ret)-2:]
number1 = number1.hex()
number1 = number1[2:]+number1[:2]

number2 = b'\x121d'
number2 = number2.hex()

Вывод будет:

number1
'121d'
number2
'123164'

Как видите, эти два числа не равны.

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 15 мая 2019

Поскольку вы не указали, что вы хотите сделать с результатом, трудно понять, почему вы хотите, чтобы они были отформатированы таким образом, или это двоичное значение или строка, которую вы ищете.

Если вы просто хотите получить строковое представление конкатенации, вы можете сделать что-то вроде этого:

>>> buf[-1].encode("hex") + buf[-2].encode("hex")
>>> '121d'
...