atob()方法
您可以使用该btoa()方法对可能导致通信问题的数据进行编码和传输,然后将其传输并使用该atob()方法再次解码数据。例如,您可以对控制字符(如 ASCII 值0到 31)进行编码,传输和解码。
这种方法好使吗,会不会有什么问题?
很悲惨,这种方法存在的问题是:window.btoa()不支持中文,window.atob()转换含有中文的base64编码的时候中文部分会变为乱码。(不过有解决办法)
用法:
var encodedData = window.btoa(123456); // 'MTIzNDU2'
var decodedData = window.atob(encodedData); // '123456'
解决中文乱码问题
btoa(unescape(encodeURIComponent('你好'))); // '5L2g5aW9'
decodeURIComponent(escape(window.atob('5L2g5aW9'))); // 你好