前端使用websocket通信时,怎么将onmessage获取到的解析二进制流转成字符串?

新手上路,请多包涵

现在在做的一个项目需要使用websocket通信,之前没有接触过二进制流的操作。目前我已经知道了可以使用String.fromCharCode,把Unicode代码转成字符串,但是Unicode的字长会变化,需要一个算法来解析Unicode,此外其他编码格式的解析算法又不一样。请教下有没有哪位大神能解决这些问题,或者目前有没有解析二进制的js框架。。

阅读 18.4k
3 个回答
新手上路,请多包涵

你可以通过charCodeAt方法得到每个字符的Unicode码,包括中文,并且用四个字节来存储,然后按照顺序发送给服务端。服务端也以这种方式来解和发送,JavaScript收到后可以再通过fromCharCode还原成字符。
这种方式占用的数据流量有点大,你也可以把字符串按UTF-8的方式进行编码再发送。这里有个简单的实现:JavaScript进行UTF-8编码与解码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题