很多websocket传输数据是ArrayBuffer形式,但是python中没有这数据类型,关于2者怎么转化我看网上讲的少记录下,方便大家少踩坑。
如下图t.data是websocket接收的ArrayBuffer数据,这些数据需要解码才能还原成字符串形式的,n就是解码出来的数据,但是解码函数很复杂,需要扣核心js用node来解码。python websocket接收的是二进制流数据,怎么把收到的二进制数据转成ArrayBuffer传给node解码是个问题,
方法如下,最后的e就是ArrayBuffer类型了:
网页发送数据是ArrayBuffer形式,
python中发送socket 的buffer数据如下。
还有就是js中ArrayBuffer、Uint8Array、ArrayBuffer的相互转化:
1. ArrayBuffer 和 Uint8Array 互转
2. Uint8Array 和 Array 互转
3. ArrayBuffer 和 Array互转