【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;
  }
  
}
相关推荐
Damon小智21 小时前
鸿蒙分布式数据服务(DDS)原理与企业同步实战
分布式·华为·harmonyos
猫林老师1 天前
HarmonyOS自动化测试与持续集成实战指南
ci/cd·华为·harmonyos
寂然如故1 天前
拥抱未来:HarmonyOS NEXT 开发新范式深度解析
华为·harmonyos
国霄1 天前
(2)Kotlin/Js For Harmony——如何复用ViewModel
harmonyos
星释1 天前
鸿蒙Flutter三方库适配指南:08.联合插件开发
flutter·华为·harmonyos
爱笑的眼睛111 天前
HarmonyOS WaterFlow瀑布流布局深度解析:从原理到性能优化
华为·harmonyos
星释1 天前
鸿蒙Flutter三方库适配指南:06.插件适配原理
flutter·华为·harmonyos
高沉1 天前
2025华为海思数字IC面经
华为·fpga开发
Damon小智1 天前
鸿蒙元服务深度实践:跨端唤醒与状态共享的设计模式
华为·设计模式·harmonyos
普中科技1 天前
【普中Hi3861开发攻略--基于鸿蒙OS】-- 第 31 章 WIFI 实验-华为 IoTDA 设备接入
单片机·嵌入式硬件·华为云·鸿蒙·liteos·hi3861·普中科技