Creator 3.0中怎么将string转成ArrayBuffer

Creator 3.0中怎么将string转成ArrayBuffer

帮你找了一个链接 https://www.jianshu.com/p/6cc2e4d52895

这样得到的是Unicode编码,怎么得到UTF8编码的ArrayBuffer呢,我想要的是UTF8编码

 static package(pkId:number,data:any):ArrayBuffer{
            let length =  data.length
            let sendBuf = new ArrayBuffer(length + 2);
            let dataView = new DataView(sendBuf);
            dataView.setInt16(0, pkId);
            let u8view = new Uint8Array(sendBuf, 2);
            for (let i = 0, strLen = length; i < strLen; ++i) {
                u8view[i] = data[i];
            }
            return sendBuf
        }

用node Buffer模块不香吗

Creator 里面没有 node 模块

我知道啊 直接拿过来导入插件 不就行了 :joy:

如果你目标平台是 Web,直接用 TextEncoder - Web APIs | MDN (mozilla.org) ;如果目标里还有其他平台,链接里也有 polyfill 代码:

const encoder = new TextEncoder(); // always utf-8
console.log(encoder.encode("This is a string converted to a Uint8Array"));
1赞