urlSafeBase64.js (513B)
1 function encode(s) { 2 return (btoa(s) 3 .replace(/\+/ug, '-') 4 .replace(/\//ug, '_') 5 // .replace(/=+$/, '') 6 ); 7 } 8 9 function decode(s) { 10 var decoded; 11 s = s 12 .replace(/[\n\r \t]/ug, '') 13 .replace(/-/ug, '+') 14 .replace(/_/ug, '/'); 15 try { 16 decoded = atob(s); 17 } catch (e) { 18 // will return null for malformed data 19 } 20 if (decoded && decoded.length) { 21 return decoded; 22 } 23 return null; 24 } 25 26 export {encode, decode};