用node.js写一个字符串压缩解压的代码
时间: 2023-03-31 22:01:31 浏览: 252
好的,我可以回答这个问题。以下是一个使用 node.js 编写的字符串压缩解压的代码示例:
```javascript
const zlib = require('zlib');
// 压缩字符串
function compressString(str) {
return new Promise((resolve, reject) => {
zlib.deflate(str, (err, buffer) => {
if (err) {
reject(err);
} else {
resolve(buffer.toString('base64'));
}
});
});
}
// 解压字符串
function decompressString(str) {
return new Promise((resolve, reject) => {
zlib.inflate(Buffer.from(str, 'base64'), (err, buffer) => {
if (err) {
reject(err);
} else {
resolve(buffer.toString());
}
});
});
}
// 示例
const originalString = '这是一个需要压缩的字符串。';
console.log('原始字符串:', originalString);
compressString(originalString)
.then(compressedString => {
console.log('压缩后的字符串:', compressedString);
return decompressString(compressedString);
})
.then(decompressedString => {
console.log('解压后的字符串:', decompressedString);
})
.catch(err => {
console.error('出错了:', err);
});
```
这段代码使用了 node.js 内置的 zlib 模块来进行字符串的压缩和解压。其中,`compressString` 函数接受一个字符串作为参数,返回一个 Promise 对象,该 Promise 对象的结果是压缩后的字符串。`decompressString` 函数接受一个压缩后的字符串作为参数,返回一个 Promise 对象,该 Promise 对象的结果是解压后的字符串。
在示例中,我们先定义了一个原始字符串,然后使用 `compressString` 函数将其压缩成一个 base64 编码的字符串,并输出压缩后的字符串。接着,我们使用 `decompressString` 函数将压缩后的字符串解压成原始字符串,并输出解压后的字符串。如果在压缩或解压的过程中出现了错误,我们会在控制台输出错误信息。
阅读全文