js的字符串与Base64互相转换,支持Unicode编码
// Base64编码
function base64Encode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
// Base64解码
function base64Decode(str) {
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
// 使用示例
var encodedStr = base64Encode('Hello, World!');
console.log(encodedStr); // 输出编码后的字符串
var decodedStr = base64Decode(encodedStr);
console.log(decodedStr); // 输出解码后的字符串
这段代码提供了Base64的编码和解码功能。base64Encode
函数接收一个字符串,将其进行URI编码,然后将编码后的字符串中的百分号编码转换为对应的字符,并使用btoa
进行Base64编码。base64Decode
函数则执行相反的操作,将Base64字符串解码并转换回原始字符串。
评论已关闭