【HarmonyOS】鸿蒙arrayBuffer和Uint8Array互相转化

【HarmonyOS】鸿蒙arrayBuffer和Uint8Array互相转化

前言

ArrayBuffer

ArrayBuffer内部包含一块Native内存,该ArrayBuffer的JS对象壳被分配在虚拟机本地堆(LocalHeap)。与普通对象一样,需要经过序列化与反序列化拷贝传递,但是Native内存有两种传输方式:拷贝和转移。

Uint8Array

Uint8Array是一种基本的JavaScript数组类型,用于处理二进制数据。它是无符号的8位整数数组,每个元素固定为1字节(8位)。这种数组类型主要用于操作二进制数据,如文件、图像数据或网络通信中的原始数据。

在鸿蒙(HarmonyOS)开发中,Uint8Array经常被用来处理二进制数据,例如在证书管理模块中,它被用来表示签名结果或证书二进制数据。由于Uint8Array能够有效地处理二进制数据,它在处理网络通信或文件操作时非常有用,可以提高性能并减少内存使用。

工具函数:

dart 复制代码
export class Util {

  /**
   * arrayBuffer转Uint8Array
   * @param buffer
   * @returns
   */
  public arrayBufferToUint8Array(buffer: ArrayBuffer): Uint8Array {
    let temp = new Uint8Array(buffer);
    return temp;
  }

  /**
   * uint8Array转ArrayBuffer
   * @param buffer
   * @returns
   */
  public uint8ArrayToArrayBuffer(array: Uint8Array): ArrayBuffer {
    let temp = array.buffer as ArrayBuffer;
    return temp;
  }
  
}
相关推荐
程序员小刘10 分钟前
【HarmonyOS 5】鸿蒙Taro跨端框架
华为·harmonyos·taro
SuperHeroWu72 小时前
【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解
华为·harmonyos·arkts·讲解·arkui·空ability示例项目
二流小码农4 小时前
鸿蒙开发:hvigorw,编译构建,实现命令打包
android·ios·harmonyos
simple丶5 小时前
【HarmonyOS】项目工程化工具 持续更迭...
harmonyos·arkts·arkui
lqj_本人6 小时前
鸿蒙OS&UniApp微服务架构实践:从设计到鸿蒙部署#三方框架 #Uniapp
架构·uni-app·harmonyos
上海张律师7 小时前
如何监听组件再次显示的事件?
harmonyos
__Benco7 小时前
OpenHarmony平台驱动使用(四),GPIO
人工智能·驱动开发·harmonyos
王二蛋与他的张大花7 小时前
HarmonyOS运动开发:精准估算室内运动的距离、速度与步幅
harmonyos
王二蛋和他的狗7 小时前
HarmonyOS运动开发:精准估算室内运动的距离、速度与步幅
鸿蒙
用户8561017614958 小时前
Harmony 0S5 代码高亮、跳转(跨语言支持ArkTS与C++)、格式化与折叠技巧
harmonyos