// 编码之前转义(escape)字符串
const b64EncodeUnicode = str => {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {
return String.fromCharCode('0x' + p1); // '003D' -> @
}));
};
// base64转换回字符串
const b64DecodeUnicode = str => {
return decodeURIComponent(atob(str).split('').map(c => {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
};
// 获取url参数
const getURLParameters = url =>
(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
(a, v) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a), {}
);
base64解码与编码
最新推荐文章于 2023-03-14 21:41:18 发布
这段代码提供了Base64编码和解码的JavaScript实现,以及从URL中提取参数的功能。通过`b64EncodeUnicode`函数,可以将Unicode字符串编码为Base64,而`b64DecodeUnicode`则用于将Base64字符串解码回Unicode。此外,`getURLParameters`函数用于解析URL查询字符串并返回参数对象。
摘要由CSDN通过智能技术生成