最新在学python,问题有很多,但过程还算美好,有问题都及时解决了
下面附上碰到的用网络调试助手发送中文,服务端接收乱码解决思路
这个网络调试助手的默认编码格式应该是gbk,所以解码的时候用格式用gbk
下面是服务端接收信息的代码:
import socket
import socket
def main():
# 1.创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2.绑定一个本地信息
localaddr = ("", 7788)
udp_socket.bind(localaddr)
# 3.接收数据
recv_data = udp_socket.recvfrom(1024) # 1024 表示接收的最大数据
# recv_data 这个变量中存储的是一个元组(接收到的数据,(发送方的ip,port)
# 4.打印接收到的数据
recv_msg = recv_data[0].decode('gbk') # 存储接收到的数据
send_addr = recv_data[1] # 存储发送方的地址信息
print("%s:%s" % ((str(send_addr), recv_msg)))
# 5.关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()