如何将Python中的ASCII“字节”列表转换为十六进制字节

问题描述 投票:0回答:2

我有一个ASCII“字节”列表,我需要将其转换为十六进制,然后通过串行端口发送。

例如,使用以下列表:

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

我想将每个字节转换为十六进制,以便例如第一个字节看起来像这样:

b'\xfe'

我尝试使用binascii,但我认为用法不正确。

谢谢!

python hex ascii pyserial radio
2个回答
0
投票

如果您使用的是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/


0
投票

使用join()

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

Sending hex over serial with python

© www.soinside.com 2019 - 2024. All rights reserved.