encodeuricomponent

解决 Javascript 中 atob 方法解码中文字符乱码问题

痞子三分冷 提交于 2019-11-26 14:10:16
转载自 https://blog.coding.net/blog/resolve-atob-decode-chinese-character-outputting-messy-code-problem-in-javascript 解决 Javascript 中 atob 方法解码中文字符乱码问题 由于一些网络通讯协议的限制,你必须使用 window.btoa() 方法对原数据进行编码后,才能进行发送。接收方使用相当于 window.atob() 的方法对接受到的 base64 数据进行解码,得到原数据。例如,发送某些含有 ASCII 码表中 0 到 31 之间的控制字符的数据。 window.btoa 与 window.atob 不支持中文 对于 unicode 编码的字符进行 base64 编码之后,通过浏览器原生的 btoa 方法界面中文会乱码。 在 bash 终端,将“中文”转成 base64 编码 $ echo 中文 | base64 5Lit5paHCg== 在 Chrome console 通过 window.atob 解码,结果为乱码 > window.atob('5Lit5paHCg==') 中文 在 Chrome console 中执行 windows.btoa 编码,报错 > window.btoa('中文') Uncaught DOMException