def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定一个本地信息
localaddr = ("", 8081)
udp_socket.bind(localaddr)
while True:
# 接收数据
recv_data = udp_socket.recvfrom(1024)
# recv_data是一个元组(接收到的数据, (发送方的IP, port))
recv_msg = recv_data[0] # 存储接收到的数据
send_addr = recv_data[1] # 存储发送方的地址
# 打印收到的消息
print(recv_msg.decode())
# print("%s:%s" % (str(send_addr), recv_msg))
# 关闭
udp_socket.close()
if name == 'main':
main()
b开头的就是十六进制,你用decode的话需要对应上格式.其实直接转换成数字然后再转字符就行.
b = bin(int.from_bytes(data, byteorder=sys.byteorder))#data就是你接收到的数据