将缓冲区从数据库转换为字符串

时间:2018-10-08 14:54:44

标签: node.js

我在数据库中存储了一个缓冲区。 我有一个这样的缓冲区(来自数据库):

{
    data =     (
        76,
        39,
        65,
        77,
        66,
        65,
        83,
        83,
        65,
        68,
        79,
        82
    );
    type = Buffer;
}

我想将其转换为字符串,但无法正常工作。 我尝试使用.toString('utf8');

console.log(buffer.toString('utf8');

我明白了:

{"type":"Buffer","data":[123,10,32,32,32,32,100,97,116,97,32,61,32,32,32,32,32,40,10,32,32,32,32,32,32,32,32,55,54,44,10,32,32,32,32,32,32,32,32,51,57,44,10,32,32,32,32,32,32,32,32,54,53,44,10,32,32,32,32,32,32,32,32,55,55,44,10,32,32,32,32,32,32,32,32,54,54,44,10,32,32,32,32,32,32,32,32,54,53,44,10,32,32,32,32,32,32,32,32,56,51,44,10,32,32,32,32,32,32,32,32,56,51,44,10,32,32,32,32,32,32,32,32,54,53,44,10,32,32,32,32,32,32,32,32,54,56,44,10,32,32,32,32,32,32,32,32,55,57,44,10,32,32,32,32,32,32,32,32,56,50,10,32,32,32,32,41,59,10,32,32,32,32,116,121,112,101,32,61,32,66,117,102,102,101,114,59,10,125]}

这有什么问题?如何获取此缓冲区的值?

1 个答案:

答案 0 :(得分:1)

使用Buffer.from(array)语法。

const data = [76,39,65,77,66,65,83,83,65,68,79,82];
const buf = Buffer.from(data)
const str = buf.toString();
console.log('str',str); // outputs L'AMBASSADOR