我正在尝试通过套接字将十六进制数据发送到远程硬件。我使用的方法适用于某些数据,但不适用于其他数据,这是一个示例:
packet_list = ["00","00","00","00","00","05","FF","70","00","00","00"]
packet_list = [(int(x,16)) for x in packet_list]
packet_list = [(chr(x)) for x in packet_list]
这输出:
['\x00', '\x00', '\x00', '\x00', '\x00', '\x07', '\xff', 'r', '\x00', '\x00', '\x06', '\x00', '\x00']
这与我想要的非常接近,但我不想要 'r' 字符,而应该是 70 的“hexified”版本,即 \x70。我意识到 chr() 只是给了我 int 114 的 ASCII 表示,但我真正想要的只是在我的十六进制数字前面有一个带有 \x 的字符串。