Javascript btoa String contains an invalid character
前言
讀此篇文章時必需要俱備Javascript的使用基礎,其文章主要記錄一些小技巧或語法快速使用,有不能理解之處請下留言處留言。
問題
將JSON使用btoa轉成base64編碼時發生錯誤InvalidCharacterError: String contains an invalid character
這問題發生在轉換時提供的內容不能有換行符號,不然造成轉換失敗或中斷,除了刪除它之外,可以使用2指令,第1個unescape除理關鍵字元外,再使用encodeURIComponent將特殊字編碼成URI格式就能順利轉換成base64,之後再利用decodeURIComponent、escape反轉回來後再傳入atob解出真正的JSON,其功能寫成functon
// UTF-8 string to base64 encoded ascii function utf8_to_base64(str) { return window.btoa(unescape(encodeURIComponent(str))); } // base64 encoded ascii to UTF-8 string function base64_to_utf8(str) { return decodeURIComponent(escape(window.atob(str))); }
The post Javascript btoa String contains an invalid character appeared first on 可丁丹尼 @ 一路往前走2.0.