在项目开发中可能会用到转base64的操作,但是可能就一个转base64操作,还需要引入第三方包,这样就会增大项目的体积,所以如果使用的地方比较少,或者需求比较简单,就可以使用js提供的方法来解决。
使用BUffer
buffer.from方法用于将不同数据类型的数据转换为Buffer实例。然后调用toString()方法传入'base64'即完成编码, 编码解码代码
// 使用Buffer编码
const plainText = "srs:fd1bb5da-e012-459f-b461-4863cec49e2a";
const buffValue = Buffer.from(plainText);
const base64Value = buffValue.toString("base64");
console.log("buffer方法编码为base64", base64Value);
// 使用Buffer解码
const buffDecodeValue = Buffer.from(base64Value, "base64").toString();
console.log("buffer方法解码为base64", buffDecodeValue);
编码解码结果:
使用new Buffer也可以实现相同结果,不过已经被弃用。
使用bota
btoa是js的一个内置方法,可以将一个二进制字符串(将字符串中的每一个字节都视为一个二进制数据字节)编码为Base64编码的 ASCII 字符串。,这个方法可以实现转base64操作,操作简单。
同样也可以使用atob用来解码,案例如下:
const plainText = "srs:fd1bb5da-e012-459f-b461-4863cec49e2a";
const base64Encode = btoa(plainText);
console.log("原来的值", plainText);
console.log("base64编码结果", base64Encode);
const base64DeCode = atob(base64Encode);
console.log("base64解码结果", base64DeCode);
编码解码结果:
以上两种方法都可以实现base64编码和解码,根据实际场景进行选择。