【JavaScript原生提供两个Base64相关方法】
btoa():字符串或二进制值转为Base64编码
atob():Base64编码转为原来的编码
注意:base64转码为+号的后台存储问题,可遍历将+号转换为其他字符
备注:利用这两个原生方法,我们来封装一下,标题需求
【使用函数方式】
var str = '元仙僧';
console.log(encode(str));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx
console.log(decode(encode(str)));//元仙僧
// 字符串转base64
function encode(str){
// 对字符串进行编码
var encode = encodeURI(str);
// 对编码的字符串转化base64
var base64 = btoa(encode);
return base64;
}
// base64转字符串
function decode(base64){
// 对base64转编码
var decode = atob(base64);
// 编码转字符串
var str = decodeURI(decode);
return str;
}
【使用对象方式】
var base64 = {
encode(str){
// 对字符串进行编码
var encode = encodeURI(str);
// 对编码的字符串转化base64
var base64 = btoa(encode);
return base64;
},
decode(base64){
// 对base64转编码
var decode = atob(base64);
// 编码转字符串
var str = decodeURI(decode);
return str;
}
};
// 字符串转base64
console.log(base64.encode('元仙僧'));//JUU2JTgwJUFBJUU4JUFGJTlFJUU1JTkyJTk2JUU1JTk1JUEx
// base64转字符串
console.log(base64.decode(base64.encode('元仙僧')));//元仙僧
站在前人的肩膀上,只为学习。