Nodejs转换传入streamWindows 1252或UTF-8

我创build了nodesjs net服务器,发送者在Windows 1252发送数据。

题:

我怎样才能将数据从Windows 1252转换为我的应用程序的其余部分所需的utf-8

根据: https : //nodejs.org/api/stream.html#stream_readable_setencoding_encoding

调用此函数以使stream返回指定编码的string而不是Buffer对象。

client.setEncoding 'utf8'应该以utf-8格式返回一个string,但是我仍然会在我的string中得到questionmarks而不是例如ä,ö,ü

 exports.createServer = (io) -> server = net.createServer( { allowHalfOpen: true, pauseOnConnect: false }, (socket)-> createClient(socket, io) ) server.listen portHl7 server.on('error', (err) -> if (err.code == 'EADDRINUSE') console.log 'Address in use, retrying...' setTimeout( () -> server.close() self.createServer() 1000 ) ) server.on('close', (err) -> console.log "server closed" ) createClient = (socket, io) -> client = socket client.name = client.remoteAddress + ":" + client.remotePort clients.push(client) console.log "Client #{client.name} connected" client.setEncoding 'utf8' client.addListener 'data', (data) -> parser = new Parser() s = new stream.Readable() ... 

附加信息:

  • 可能的编码格式: https : //nodejs.org/api/buffer.html#buffer_buffer