码峰博客 – 码而思

分享积累从此时此刻开始

js base64编码与解码支持汉字

使用 Buffer 实现编码

let base64Encoded = Buffer.from('把我转化为base64').toString('base64');
console.log(base64Encoded);


let decoded = Buffer.from(base64Encoded, 'base64').toString();
console.log(decoded);

以下是使用 FileReader 结合 Blob 进行字符串的 Base64 编码和解码的方法

编码

const originalString = "这是要编码的字符串";
const blob = new Blob([originalString], { type: "text/plain" });

const fileReader = new FileReader();
fileReader.readAsDataURL(blob);

fileReader.onloadend = function () {
  const base64Encoded = fileReader.result;
  console.log(base64Encoded);
};


解码

const base64Encoded = "data:application/octet-stream;base64,5Lit5paH5pys5LiA5Liq5L2g5aW95LiK5LiA5Y+35LiK"; // 这是一个示例的编码后的字符串
const base64Part = base64Encoded.split(",")[1]; // 获取 Base64 部分
const blob = Buffer.from(base64Part, "base64");
const fileReader = new FileReader();
fileReader.readAsText(blob);
fileReader.onloadend = function () {
  const decodedString = fileReader.result;
  console.log(decodedString);
};