python向serial p发送十六进制字符串

2024-10-06 07:58:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将十六进制字符串发送到串行端口 必须采用以下格式“\x02\x81….” 这是我的密码

from binascii import unhexlify
string='0281E1B1'
print unhexlify(string)

给我一些兰登符号?a+而不是\x02\x81\xE1\xB1 我有python 2.7,所以decode('hex')也不工作


Tags: 端口字符串fromimport密码string格式符号
1条回答
网友
1楼 · 发布于 2024-10-06 07:58:47

你做得对。。。。你只要把它送到港口

print repr(unhexlify(my_string))

my_serial.write(unhexlify(my_string))

#or 

my_serial.write(my_string.decode("hex"))

问题是你不能只打印随机字节("\x##")到终端,然后期望看到一些有意义的东西…终端显示它不能解码的字符?或者像一颗带问号的钻石

>>> '0281E1B1'.decode("hex")
'\x02\x81\xe1\xb1'
>>> print '0281E1B1'.decode("hex")
☻üß▒
>>> '0281E1B1'.decode("hex") == unhexlify('0281E1B1')
True

尽管出于什么奇怪的原因我的终端没有添加任何?到那个特定的字符串

相关问题 更多 >