在建立好TCPSocket之后,如何将复合类型结构转换为ArrayBuffer?-鸿蒙开发者社区-51CTO.COM

在建立好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
按赞同
/
按时间
人间冰美式

可将复合类型结构转换为字符串后使用如下方法转为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
相关问题
HarmonyOS 如何将base64数据转换为图片
399浏览 • 1回复 待解决
如何将字符串转换为浮点数。
314浏览 • 1回复 待解决
如何将app.media.app_icon,转换为PixelMap
1794浏览 • 1回复 待解决
如何将时间戳转换为日期格式的时间
2872浏览 • 1回复 待解决
如何将ArrayBuffer转成string
2388浏览 • 1回复 待解决
如何将ArrayBuffer转成string?
500浏览 • 1回复 待解决
如何将Uint8Array转ArrayBuffer
358浏览 • 1回复 待解决
HarmonyOS如何将Component转换PixelMap?
290浏览 • 1回复 待解决
如何将文件转换成字符串
339浏览 • 1回复 待解决
如何将Resource资源对象转成string类型
2993浏览 • 1回复 待解决
请问如何将openblock文件转换成exe文件
2285浏览 • 0回复 待解决
如何将某个时间转换成距现在的时间
489浏览 • 1回复 待解决