WebSocket 的 binary message 是一个二进制数据流,如果要将其转换为字符串,需要先将二进制数据流转换为文本格式。常见的方式是使用 TextDecoder API。

示例代码如下:

const decoder = new TextDecoder();
socket.onmessage = (event) => {
  if (typeof event.data === 'string') {
    // 如果消息已经是字符串,则直接处理
    console.log('收到字符串消息:', event.data);
  } else {
    // 如果是二进制消息,则将其转换为字符串
    const text = decoder.decode(event.data);
    console.log('收到二进制消息:', text);
  }
};

在上述代码中,我们首先创建了一个 TextDecoder 实例,然后在 WebSocket 的 onmessage 事件中判断消息类型,如果是字符串则直接处理,否则将二进制消息转换为字符串。具体实现方式可以参考 MDN 文档:TextDecoder

WebSocket 二进制消息转换为字符串:使用 TextDecoder API

原文地址: https://www.cveoy.top/t/topic/mY2U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录