如何将二进制流转换为其十六进制表示形式(或UTF8)

时间:2019-05-31 13:32:28

标签: javascript node.js binary data-conversion

我编写了一个node-js TCP服务器,该服务器从客户端接收二进制数据(字节)。例如,客户端可以将数据发送为23 53 7f ff ff fc ...如您所见,数据包含可定价的ascii字符,也包含不可打印的ascii字符(这不是字符串)。对于可打印的字符,代码可以正常工作。例如,对于23和53,当我在节点js端收到EFBFBD时,脚本接收到23(#)和53(S)的问题出在诸如C2之类的字节上。这是编码问题吗,但我不确定。

我正在使用Packet Sender 6.0,这是一个用于测试功能的开源工具

我尝试使用类型化缓冲区,为节点js下载了utf组件,并尝试了不同的编码。

manager.forwardMessage = function(listenerName, message, callback) {
//    var convertedMessage = utf8.encode(message);
//    var convertedMessage = new Buffer(message).toString('hex'); // This line prints EFBFBD for C2.

接下来,我将尝试用Java编写一些套接字客户端并发送数据包。还有其他想法吗?对我所缺少的任何帮助确实很有帮助。在此上花了几天时间:)。

谢谢

0 个答案:

没有答案