HarmonyOS str转ArrayBuffer

使用TCPsocket连接方式,对一个IP进行发送消息并拿到此IP接受到消息之后的返回数据,为了完成手机通过连接设备热点的形式通过TCPsocket给此设备传递一个可连接WiFi信息,此设备接受通过TCP连接接受到数据后,就会返回数据发送给之前那个TCPsocket的ip,此时手机就会接受到socket发送过来的信息。

遇到问题:

1.设备接受的数据只能为二进制形式的数据,而send方法传递数据的数据格式string | ArrayBuffer,将二进制转换成string | ArrayBuffer格式传递时,

string类型时,on方法返回的数据为:

messageView: “›\u0006ÀN0àˈ”
value:{“message”:{},“remoteInfo”:{“address”:“192.168.5.1”,“family”:“IPv4”,“port”:5003,“size”:8}};

而ArrayBuffer类型,我是通过方法转换而来,方法如下:

strToArrayBuffer(str: string) {
  let buf = new ArrayBuffer(str.length * 2);
  let bufView = new Uint16Array(buf);
  for (let i = 0, strLen = str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return bufView;
}

但on方法返回提示信息为参数错误。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

str转ArrayBuffer 用如下方式试下

strToArrayBuffer(str: string) {
  let buf = new ArrayBuffer(str.length * 2);
  let bufView = new Uint8Array(buf);
  for (let i = 0, strLen = str.length; i < strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return bufView.buffer;
}
分享
微博
QQ
微信
回复
1天前
相关问题
ArrayBuffer怎样字符串
543浏览 • 1回复 待解决
HarmonyOS arraybufferbase64乱码
185浏览 • 1回复 待解决
ArrayBuffer怎么Uint8Array?
614浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确ArrayBuffer
1493浏览 • 1回复 待解决
如何将Uint8ArrayArrayBuffer
537浏览 • 1回复 待解决
HarmonyOS base64.decodeSync(str)使用报错
33浏览 • 1回复 待解决
HarmonyOS pixelMap转成ArrayBuffer
89浏览 • 1回复 待解决
HarmonyOS Napi Arraybuffer无法创建
38浏览 • 1回复 待解决
HarmonyOS 图片pdf
26浏览 • 1回复 待解决
HarmonyOS ArrayBuffer对象做填值操作
14浏览 • 1回复 待解决
在 string 转成ArrayBuffer报错
1034浏览 • 1回复 待解决
HarmonyOS class Map
231浏览 • 1回复 待解决
HarmonyOS string number
930浏览 • 1回复 待解决
HarmonyOS array 如何 arraylist ?
317浏览 • 1回复 待解决
HarmonyOS mapjson对象
40浏览 • 1回复 待解决
HarmonyOS JSON怎么Map?
324浏览 • 1回复 待解决
如何将ArrayBuffer转成string?
629浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer
3676浏览 • 1回复 待解决
字符串如何转为ArrayBuffer
740浏览 • 1回复 待解决