【问题标题】:Node.js 6.10 HEX->BASE64->UTF8Node.js 6.10 十六进制->BASE64->UTF8
【发布时间】:2018-11-05 20:14:30
【问题描述】:

我的代码生成包含 json 的“数据”。我需要将 HEX 值与 Buffer 分开,并将其从 HEX->BASE64->UTF8 解码为字符串。

代码:

console.log(data);

输出:

> { ContentType: 'application/json',   InvokedProductionVariant:
> 'AllTraffic',   Body: <Buffer 7b 22 73 63 6f 72 65 73 22 3a 5b 7b 22
> 73 63 6f 72 65 22 3a 32 2e 35 31 35 30 34 32 33 37 32 39 7d 5d 7d> }

以下代码适用于 base64 到 utf8。但是中间的步骤我无法弄清楚或找到答案。

Buffer.from("...", 'base64').toString('utf8'));

【问题讨论】:

  • 无论您从哪里获取数据,它看起来都像是一个缓冲区。那你试过了吗 -> data.toString('utf8')
  • 感谢您的回复!当尝试 console.log(data.toString('utf8') 它输出“[object Object]”?
  • 对不起console.log(data.Body.toString('utf8'))
  • 工作就像一个魅力!如果您想将其添加为答案,我将标记它接受它。谢谢!

标签: javascript node.js json


【解决方案1】:

您的数据对象的 Body,已经是 Buffer,所以您需要做的就是转换该缓冲区。

console.log(data.Body.toString('utf8'));

看起来这是 JSON,所以最好是 ->

const ret = JSON.parse(data.Body.toString('utf8'));
console.log(ret.scores[0].score);

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 2017-12-05
    • 2013-06-10
    • 2015-05-09
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多