Как преобразовать список байтов ASCII в Python в шестнадцатеричные байты - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть список «байтов» ASCII, которые мне нужно преобразовать в шестнадцатеричный формат, а затем отправить через последовательный порт.

Например, возьмите следующий список:

list_to_send=['FE','FE','98','E0''07', 'D2', '00','FD"]

Я бы хотел преобразовать каждый байт в шестнадцатеричный, чтобы, например, первый байт выглядел так:

b'\xfe'

Я пытался использовать binascii, но я думаю, что мое использование неверно.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

с использованием join ()

str="b'"
for x in list_to_send:
    str=str+"\x"+x
str=str+"'"

Отправка шестнадцатеричного кода по серийному номеру с python

0 голосов
/ 25 апреля 2020

если вы используете Python 3.5 и выше, используйте это

b'\xFE'.hex()

А если вы хотите использовать binascii, то:

import binascii
binascii.hexlify('FE'.encode('utf8'))

есть и много других способов ... для получения дополнительной информации http://code.activestate.com/recipes/510399-byte-to-hex-and-hex-to-byte-string-conversion/

...