在建立好TCPSocket之后,如何将复合类型结构转换为ArrayBuffer?

在建立好TCPSocket之后,发送数据时,因数据类型不一定都是字符串类型,有复合类型结构(如Struct、Class 类型等)的数据,该如何组装成对应的 ArrayBuffer? 有没有实际的 Demo 可以参考?

类似于 一个对象

Class:TA{ 
A1:string; 
B1:int; 
C1:{"key1":"FF","key2":"GG"} 
}

这种复合的结构 是怎么样转换成 ArrayBuffer的?

HarmonyOS
2024-05-28 20:56:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
peterlee99

可将复合类型结构转换为字符串后使用如下方法转为ArrayBuffer,参考demo如下:

 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 buf; 
      }

复合类型结构使用JSON.stringify()转为string类型再使用上面strToArrayBuffer()的方法转换即可

测试时方法应用demo如下:

let objData = new testObj("123.45.6.78","8086",new message("str","send data")); 
console.info(`string : ${JSON.stringify(objData)}`) 
let buf1 = this.strToArrayBuffer(JSON.stringify(objData));
分享
微博
QQ
微信
回复
2024-05-29 22:00:12
相关问题
如何将app.media.app_icon,转换为PixelMap
702浏览 • 1回复 待解决
如何将时间戳转换为日期格式的时间
1168浏览 • 1回复 待解决
如何将ArrayBuffer转成string
634浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
1361浏览 • 1回复 待解决
请问如何将openblock文件转换成exe文件
1198浏览 • 0回复 待解决
泛型参数转换为Object编译失败
288浏览 • 1回复 待解决
如何将PixelMap压缩到指定大小
477浏览 • 1回复 待解决
如何将Map/HashMap转为Object对象?
512浏览 • 1回复 待解决
如何将图片PixelMap压缩到指定大小
466浏览 • 1回复 待解决
如何将三方应用改为系统应用
448浏览 • 2回复 已解决
如何将像素点保存到图片文件
1059浏览 • 1回复 待解决
如何将 Checkbox 的文字放在左边 ?
9454浏览 • 1回复 待解决
ets中如何将图片转为byte[]?
1795浏览 • 1回复 待解决
如何将背景颜色设置为透明
1003浏览 • 1回复 待解决