window.btoa 与 window.atob 不支持中文
由于一些网络通讯协议的限制,你必须使用 window.btoa() 方法对原数据进行编码后,才能进行发送。接收方使用相当于 window.atob() 的方法对接受到的 base64 数据进行解码,得到原数据。例如,发送某些含有 ASCII 码表中 0 到 31 之间的控制字符的数据。
所以需要配合
encodeURIComponent 和 decodeURIComponent
encodeURI 和 decodeURI
encodeURI()和encodeURIComponent() 区别
https://blog.csdn.net/qq_34629352/article/details/78959707