结论写在前面:
html,js,传输之前先decode
使用python创建websocket服务
引入库
python -m pip install websocket-server
简单的服务器代码:

from websocket_server import WebsocketServer

def new_client(client, server):
server.send_message_to_all("Hey all, a new client has joined us")
def send_msg(client, server,msg):
server.send_message_to_all(msg)

server = WebsocketServer(7777, host='127.0.0.1')
server.set_fn_new_client(new_client)
server.set_fn_message_received(send_msg)
server.run_forever()

但是在使用中文消息的时候,python显示就是乱码如下:
大福利发设计方
使用了很多种解码方式均失败

几经周折终于找到解决方案,因为传到python元数据就在网络通讯层自动转码时已经使用某种算法转义,python默认反转义并不能正常解析,使用几种其他转义方法也不生效,终于发现需要在js页面端将其encode为web格式,然后在python decode,这样就可以完美解析出中文字符

import urllib
from urllib.parse import quote

x="%E5%A4%A7%E7%A6%8F%E5%88%A9%E5%8F%91%E8%AE%BE%E8%AE%A1%E6%96%B9"
print(urllib.parse.unquote(x))