【问题标题】:Nodejs - webscoket set encoding for receiving data?Nodejs - 用于接收数据的 websocket 设置编码?
【发布时间】:2020-08-06 13:02:27
【问题描述】:

我有一个用于 TCP 设置的 websocket 代理。但我收到的数据是 HEX 缓冲区。如何将其转换为字符串可读格式?我想我必须将其设置为 utf-8,但我在 websocket 中看不到该选项。

收到的数据示例:

Received:  <Buffer 3c 63 72 6f 73 73 2d 61 69 6e 272 6f  2a 27 ... 46 more bytes>

客户端代码:

const ws = new WebSocket('ws://example.com:1211');

ws.onmessage = message => {
  console.log('Received: ', message.data)
};

【问题讨论】:

    标签: node.js websocket


    【解决方案1】:

    试试这个:

    
    const convert = (from, to) => hexMessage => Buffer.from(hexMessage, from).toString(to);
    
    const hexToUtf8 = convert('hex', 'utf8');
    
    hexToUtf8('your hex msg here')
    
    

    也可以看看这篇文章:Hex to String & String to Hex conversion in nodejs

    【讨论】:

    • 感谢工作。我直接使用了缓冲区。 var buf = Buffer.from(message.data); console.log(buf.toString());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多