HarmonyOS 鸿蒙Next Array和Uint8Array转换

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Array和Uint8Array转换

账密登录等方式,有记录历史账密记录的需求,目前看到关进资产存储只支持单条字符串格式存储,无法支持有序数组存储
界面上数据操作采用Array处理,存储到关键字长存储(Asset)只接受Uint8Array格式, 在ets文件,如何实现Array与Uint8Array互相转换。类似 iOS上是可以直接对Array进行JSONEncoder和decoder,鸿蒙这里没有找到类似实现。

2 回复

可以参考下:

Array转换为Uint8Array

可以使用Uint8Array构造函数,直接传入数组作为参数

let numberArray = [1, 2, 3];
let uint8Array = new Uint8Array(numberArray);<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

Uint8Array转换为Array

要将Uint8Array转换回普通的JavaScript数组,可以直接使用Array.from()方法或者展开运算符(...):

let uint8Array = new Uint8Array([1, 2, 3]);
let numberArray = Array.from(uint8Array); // 使用Array.from()
let numberArraySpread = [...uint8Array]; // 使用展开运算符<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkts-91-V5

更多关于HarmonyOS 鸿蒙Next Array和Uint8Array转换的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)开发中,关于Next ArrayUint8Array的转换,具体实现通常依赖于鸿蒙系统的特定API或框架。以下是直接针对这两个类型转换的简洁说明:

Next Array在鸿蒙中可能指的是某种自定义或特定框架下的数组类型,而Uint8Array则是JavaScript中的一个类型,用于表示一个无符号8位整数数组。在鸿蒙的原生开发环境中,直接处理这两种类型的情况较少,因为鸿蒙主要使用其自己的编程语言(如eTS)和框架。

若需要在鸿蒙应用中进行类似转换,通常的做法是:

  1. Uint8ArrayNext Array:如果Next Array是鸿蒙特有的数组类型,可能需要遍历Uint8Array,将其元素逐一添加到Next Array实例中。

  2. Next ArrayUint8Array:类似地,遍历Next Array,将元素逐个读取并构造一个新的Uint8Array实例。

由于鸿蒙系统的具体API和框架可能不同,上述转换方法需要根据实际使用的鸿蒙开发框架进行调整。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。该网址可能提供进一步的鸿蒙开发支持和资源。

回到顶部