美文网首页
js中怎么把arrayBuffer转换成字符串

js中怎么把arrayBuffer转换成字符串

作者: 倩倩psyche | 来源:发表于2021-12-28 16:29 被阅读0次

    最近做websocket的测试,需要将收到的数据转换成字符串,在网上找了好几个方法都不好使。同事给了一个函数,测试好用。写笔记记录一下。

    funtion ArrayBufferUTF8ToStr(array) {
            var out,i,len,c;
            var char2,char3;
            if (array instanceof ArrayBuffer) {
                array = new Uint8Array(array);
            }
         
            out = "";
            len = array.length;
            i = 0;
            while(i < len) {
                c = array[i++];
                switch(c >> 4) {
                    case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
                        // 0xxxxxxx
                        out += String.fromCharCode(c);
                        break;
                    case 12: case 13:
                        // 110x xxxx   10xx xxxx
                        char2 = array[i++];
                        out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
                        break;
                    case 14:
                        // 1110 xxxx  10xx xxxx  10xx xxxx
                        char2 = array[i++];
                        char3 = array[i++];
                        out += String.fromCharCode(((c & 0x0F) << 12) |
                            ((char2 & 0x3F) << 6) |
                            ((char3 & 0x3F) << 0));
                        break;
                }
            }
         
            return out;
        }
    

    https://www.cnblogs.com/thankspipi/p/15741110.html

    相关文章

      网友评论

          本文标题:js中怎么把arrayBuffer转换成字符串

          本文链接:https://www.haomeiwen.com/subject/wobpqrtx.html