将十六进制字符串转换为utf8并不适用于node.js

时间:2017-07-12 22:22:36

标签: node.js utf-8 hex

我正在处理节点中的一些数据,这些数据在从普通文本字符串转换为十六进制数据后已存储在数据库中。

当我收到这些数据时,我可以在控制台中记录十六进制值并在this这样的网站上进行检查,但是当我按照我认为应该转换它的方式运行它时,它没有给我任何帮助

如果我手动输入字符串(而不是从Web请求中的块中获取),它确实有效。

这有效:

  var hex = "7b226461746574696d65223a22323031372d30372d31325432303a35323a34342e3432395a222c226465636973696f6e223a227061727479227d";
  var hexData = new Buffer(hex, 'hex').toString('utf8');
  console.log(hexData);

然而,这不是:

  var hex = chunk.toString();
  console.log(hex); // outputs "7b226461746574696d65223a22323031372d30372d31325432303a35323a34342e3432395a222c226465636973696f6e223a227061727479227d"
  var hexData = new Buffer(hex, 'hex').toString('utf8');
  console.log(hexData);

即使我可以看到控制台输出中的数据相同

0 个答案:

没有答案