我有一个ASCII“字节”列表,我需要将其转换为十六进制,然后通过串行端口发送。
例如,使用以下列表:
list_to_send=['FE','FE','98','E0''07', 'D2', '00','FD"]
我想将每个字节转换为十六进制,以便例如第一个字节看起来像这样:
b'\xfe'
我尝试使用binascii,但我认为用法不正确。
谢谢!
如果您使用的是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/
使用join()
str="b'"
for x in list_to_send:
str=str+"\x"+x
str=str+"'"