前后端用websocket通信,前端怎么将long型数据转为 ArrayBuffer 64位二进制数据

https://segmentfault.com/q/1010000014010331

    function long2bin(p) {
        var r = new ArrayBuffer(8);
        r[7] = p & 0xff;
        r[6] = p >> 8 & 0xff;
        r[5] = p >> 16 & 0xff;
        r[4] = p >> 24 & 0xff;
        p = p.toString(16); //转换成16进制,取出高位
        if (p.length <= 8) {
            return r;
        }
        p = parseInt(p.substr(0, p.length - 8),16);//取出高位,并转换成int
        r[3] = p & 0xff;
        r[2] = p >> 8 & 0xff;
        r[1] = p >> 16 & 0xff;
        r[0] = p >> 24 & 0xff;
        return r;
    }
    var l = 1234567891011;
    long2bin(l);

 

你可能感兴趣的:(js)