在js中,可以用window.btoa(str)/window.atob(str)對字符串進行base64編解碼,但是傳入的字符串不支持非ASCII。所以有人寫了對應Base64編解碼的函數:functionb64Encode(str){returnwindow.btoa(unescape(encodeURIComponent(str)));}functionb64Decode(str){returndecodeURIComponent(escape(window.atob(str)));}問題是:對于b64Encode函數為什么先要用encodeURIComponent,再用unescape?先用escape再用decodeURIComponent不行嗎?為什么是這個順序。另外還有個問題,escape函數和encodeURIComponent或encodeURI有什么重要的不同嗎,為什么要廢除escape函數。文檔上說的不清不楚的,求解答。
求一段JavaScript代碼的解釋:有關URL編碼
函數式編程
2019-03-29 22:10:17