在前端开发中,经常会遇到需要将文本或图片转换成 base64 编码的情况。base64 是一种将二进制数据转换为 ASCII 字符的编码方式,可以用于数据传输或存储。npm 包 base64 是一个可以将文本或图片转换为 base64 编码的工具,本篇文章将介绍如何使用该包进行编码与解码。
安装 base64
使用 npm 安装 base64:
npm install base64-js
安装完成后,在需要使用编码或解码功能的代码中引入 base64:
const base64 = require('base64-js');
编码与解码文本数据
编码
以将字符串 'Hello, World!' 转换为 base64 编码为例:
const data = 'Hello, World!'; const dataEncoded = base64.fromByteArray(Uint8Array.from(Buffer.from(data))); console.log(dataEncoded);
输出结果为:
SGVsbG8sIFdvcmxkIQ==
解码
将上述编码后的字符串解码:
const dataDecoded = Buffer.from(base64.toByteArray(dataEncoded)).toString(); console.log(dataDecoded);
输出结果为:
Hello, World!
编码与解码图片数据
编码
以将图片转换为 base64 编码为例,假设有一张名为 'test.jpg' 的图片:
const fs = require('fs'); const image = fs.readFileSync('test.jpg'); const imageData = new Uint8Array(image); const imageEncoded = base64.fromByteArray(imageData); console.log(imageEncoded);
输出的字符串较长,此处省略掉。
解码
将上述编码后的字符串解码为图片:
const dataURL = 'data:image/jpeg;base64,' + imageEncoded; const imageDecoded = Buffer.from(dataURL.split(',')[1], 'base64'); fs.writeFileSync('test_decoded.jpg', imageDecoded);
将解码后的图片保存到本地,可以看到与原始图片内容相同的 'test_decoded.jpg'。
总结
npm 包 base64 提供了编码和解码文本与图片数据的功能,可以方便地将数据转换为 base64 编码进行传输或存储。使用方法简单,只需引入该包并调用相应的方法即可。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/74029