首页 前端知识 js的字符串与Base64互相转换,支持Unicode编码

js的字符串与Base64互相转换,支持Unicode编码

2024-05-28 09:05:36 前端知识 前端哥 917 824 我要收藏

在 JavaScript 中可以使用以下方法来进行字符串与 Base64 编码的互相转换,并支持 Unicode 编码:

将字符串转为 Base64 编码:

function stringToBase64(str) {
  return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
    return String.fromCharCode('0x' + p1);
  }));
}

将 Base64 编码转为字符串:

function base64ToString(str) {
  return decodeURIComponent(atob(str).split('').map(function(c) {
    return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
  }).join(''));
}

使用示例:

let str = 'Hello, 世界';
let base64 = stringToBase64(str);
console.log(base64); // "SGVsbG8sIOS4lueVjA=="

let str2 = base64ToString(base64);
console.log(str2); // "Hello, 世界"

注意:上面的代码使用了 JavaScript 内置的 btoa()atob() 函数来进行 Base64 编码和解码。这两个函数在所有支持 JavaScript 的浏览器中都可以使用,但是在 Node.js 环境中不可用。如果需要在 Node.js 中使用,可以使用第三方库,例如 buffer 库。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9819.html
标签
评论
发布的文章
大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!