nodejs base64
时间: 2023-07-07 12:35:21 浏览: 105
Node.js 中有一个内置的 `Buffer` 类可以用于处理二进制数据以及进行编码和解码。其中包括 base64 编码和解码功能。
以下是使用 Node.js 内置的 `Buffer` 类进行 base64 编码和解码的示例代码:
```javascript
// base64 编码
const str = 'Hello, world!';
const base64Str = Buffer.from(str).toString('base64');
console.log(base64Str); // "SGVsbG8sIHdvcmxkIQ=="
// base64 解码
const decodedStr = Buffer.from(base64Str, 'base64').toString('utf-8');
console.log(decodedStr); // "Hello, world!"
```
以上代码中,`Buffer.from()` 方法可以将字符串转换为二进制数据,`.toString()` 方法可以将二进制数据转换为字符串并进行编码或解码。在进行 base64 编码和解码时,需要指定相应的编码格式,如 `'base64'` 和 `'utf-8'`。
注意,以上示例只适用于处理字符串数据,如果需要处理二进制数据,则需要将其转换为字符串后再进行编码和解码。
相关问题
nodejs base64字符串转成图片文件
将 base64 编码的字符串转换为图片文件需要先将其解码为二进制数据,然后再将二进制数据写入到文件中。以下是使用 Node.js 实现将 base64 编码的字符串转换为图片文件的示例代码:
```javascript
const fs = require('fs');
// base64 编码的字符串
const base64Str = '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwc' +
'ICQcJCQoOCw8QEBEQExYVFBEUERQXGxocHR0dHx8fHx8fHx8fHwEHBwcHBwcICAgICAoJCQoKDQ0N' +
'DQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/AABEIAOEA4' +
'AMBIgACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAA' +
'AAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD' +
'8A9b//2Q==';
// 解码为二进制数据
const buffer = Buffer.from(base64Str, 'base64');
// 写入文件
fs.writeFile('image.png', buffer, (err) => {
if (err) throw err;
console.log('图片已保存!');
});
```
以上代码中,`Buffer.from()` 方法将 base64 编码的字符串解码为二进制数据,`fs.writeFile()` 方法将二进制数据写入到文件中。在写入文件时,需要指定文件名称和写入的数据。在文件写入完成后,会在当前目录下生成一个名为 `image.png` 的图片文件。
注意,在实际开发过程中,需要先判断 base64 字符串是否为空,以及解码后的数据是否为有效的图片数据,以确保写入的文件是正确的图片文件。
nodejs实现base64编码
好的,nodejs可以使用内置的Buffer对象来实现base64编码。具体实现如下:
```javascript
const base64Encode = (str) => {
const buffer = Buffer.from(str, 'utf-8');
return buffer.toString('base64');
}
const base64Decode = (str) => {
const buffer = Buffer.from(str, 'base64');
return buffer.toString('utf-8');
}
```
其中,`base64Encode`函数将字符串转换为base64编码,`base64Decode`函数将base64编码转换为字符串。
阅读全文