我在Ubuntu 16.04中使用python3.6。我通过以下方式将十六进制转换为字节:
import socket
udpSender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
addrLC = ('192.168.10.34', 8080)
cmdBytes = (0x1A).to_bytes(1, 'little')
udpSender.sendto(cmd, addrLC)
cmdBytes
是b'\x1a'
。 TCP软件接收的数据为1a
。但是当涉及到0xA1
时,结果变得很奇怪。
cmdBytes = (0xA1).to_bytes(1, 'little')
cmdBytes
是b'\xa1'
,这是合理的。但是软件接收的数据为ffffffffffffffa1
。怎么了?我认为该软件没有任何问题。