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
2024-12-25 17:37:40
浏览
收藏 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
微信
回复
2024-12-25 19:34:08
相关问题
HarmonyOS PBArrayBuffer发送失败
124浏览 • 1回复 待解决
HarmonyOS arraybufferbase64乱码
426浏览 • 1回复 待解决
ArrayBuffer怎样字符串
786浏览 • 1回复 待解决
ArrayBuffer怎么Uint8Array?
830浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确ArrayBuffer
1884浏览 • 1回复 待解决
如何将Uint8ArrayArrayBuffer
713浏览 • 1回复 待解决
HarmonyOS base64.decodeSync(str)使用报错
278浏览 • 1回复 待解决
HarmonyOS pixelMap转成ArrayBuffer
457浏览 • 1回复 待解决
HarmonyOS Array如何转成ArrayBuffer
88浏览 • 1回复 待解决
HarmonyOS Napi Arraybuffer无法创建
284浏览 • 1回复 待解决
HarmonyOS ArrayBuffer对象做填值操作
225浏览 • 1回复 待解决
HarmonyOS 图片pdf
292浏览 • 1回复 待解决
在 string 转成ArrayBuffer报错
1191浏览 • 1回复 待解决
如何将ArrayBuffer转成string?
747浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer
4138浏览 • 1回复 待解决
字符串如何转为ArrayBuffer
1015浏览 • 1回复 待解决