很多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互轉