Nodejs“net” - 如何用Unicode而不是ASCII从服务器发送消息?

时间:2014-05-25 12:59:10

标签: node.js unicode serverside-javascript

我正在制作聊天应用程序,我可以设法从客户端以Unicode发送消息,但是如果我在服务器代码中编写指令(带有net框架的nodejs脚本),例如将发送者的缺口附加到消息,它使消息乱码。

实施例:                 套接字[i] .write(socket.id +“:”+ msg_sent);

如果msg_sent是ASCII格式(在客户端中编码为ascii),它可以正常工作,但是如果我将其编码为Unicode,则该指令使消息不可读。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您需要UTF-16,节点支持小端格式的UTF-16'utf16le'编码。要使用它,只需指定编码:

sockets[i].write(socket.id + ": " + msg_sent, 'utf16le');

如果您需要节点本身不支持的其他编码,则需要使用iconv之类的内容。