zerorpc:如何将string数据从python转换为节点

我需要从nodejs中调用一个python脚本并获取结果。 我发现了似乎很适合的zerorpc库。 python脚本返回一个string数组,但在节点中我得到了二进制数据的对象。

这是pythonzerorpc服务器:

# python zerorpc server import zerorpc class HelloRPC(object): def test(self): return ["A", "B", "C"] server = zerorpc.Server(HelloRPC()) serrver.bind("tcp://0.0.0.0:4242") server.run() 

这是节点zerorpc客户端:

 // nodejs zerorpc client var zerorpc = require("zerorpc") var client = new zerorpc.Client(); client.connect("tcp://127.0.0.1:4242"); client.invoke("test", function(error, response, more) { if (response) { for (var i = 0; i < response.length; i++) { console.log(typeof response[i], response[i]) } } } 

这给出了这个输出:

 object <Buffer 41> object <Buffer 42> object <Buffer 43> 

在nodejs的string中转换这些对象的最佳方法是什么?

节点JS缓冲区类有toString方法

 strings[i] = response[i].toString("utf8") 

查看方法: https : //nodejs.org/api/buffer.html#buffer_buf_tostring_encoding_start_end