【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;
  }
  
}
相关推荐
AI备忘录13 小时前
(十九)华为华三锐捷迈普思科 交换机链路聚合配置命令(LACP/静态聚合五厂商对照)
运维·服务器·网络·网络协议·tcp/ip·华为
贾伟康14 小时前
【时光清单|19】HarmonyOS ArkTS 回归测试实战:覆盖启动、空数据、异常输入和重复点击
软件测试·harmonyos·arkts·回归测试·hypium
坚果的博客15 小时前
Flutter OHOS 环境搭建实战:oh-3.44.9-dev 从 0 到 1 完整记录
flutter·华为·harmonyos
坚果的博客15 小时前
认识 CPF-RN:React Native 鸿蒙官方社区与四大核心仓库
react native·react.js·harmonyos
大雷神16 小时前
HarmonyOS ArkGraphics 2D可变帧率实操——同屏对比30、60和90 FPS动画
华为·harmonyos
OH_TPC16 小时前
【鸿蒙优选三方库】@react-native-ohos/react-native-fast-image:高性能图片加载与缓存组件
缓存·华为·harmonyos·鸿蒙
贾伟康17 小时前
【句匠|03】HarmonyOS ArkTS 每日打卡实战:实现连续天数、补签边界和本地日期判断
harmonyos·arkts·本地存储·每日打卡·学习应用
小雨青年18 小时前
【HarmonyOS 7 平行视界深度实战】02 从普通页面到第一个平行视界 Demo
华为·harmonyos
~远在太平洋~18 小时前
06-鸿蒙系统 uitest UI 自动化指南
ui·自动化·harmonyos
OH_TPC18 小时前
OpenHarmony平台RN三方库适配情况
华为·harmonyos·鸿蒙