NodeJs解码为可读文本

时间:2017-07-20 04:25:31

标签: node.js

问题

我想通过NodeJs使用IP地址从设备接收数据。但我收到了以下数据:

funny characters

我尝试过什么

这是我能够获得的代码,它仍然会产生我上面描述的问题。

var app = require('http').createServer(handler);
var url = require('url') ;
var statusCode = 200;

app.listen(6565);

function handler (req, res) {
 var data = '';

req.on('data', function(chunk) {
  data += chunk;
});

req.on('end', function() {
console.log(data.toString());
fs = require('fs');
fs.appendFile('helloworld.txt', data.toString(), function (err) {
  if (err) return console.log(err);
});
});

res.writeHead(statusCode, {'Content-Type': 'text/plain'});
res.end();
}

以下是我收到的console.log(req.headers)

的结果

req.headers console

所以我的问题是,如何解码数据?任何人都知道他们是什么类型的数据?

1 个答案:

答案 0 :(得分:1)

使用Buffers来处理八位字节流。

function handler (req, res) {

    let body=[];

    req.on('data', function(chunk) {
        body.push(chunk);
    });


     req.on('end', function() {
        body = Buffer.concat(body).toString('utf8');
    ...