HarmonyOS 如何将Uint8Array转成ArrayBuffer

通过以下方法:

let arr: ArrayBuffer = new ArrayBuffer(8);
let uint8Array: Uint8Array = new Uint8Array(arr);
let buffer: ArrayBuffer = uint8Array.buffer;

会报错:

Structural typing is not supported (arkts-no-structural-typing) <ArkTSCheck>
HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

由于uint8Array.buffer有一个类型,let buffer: ArrayBuffer又给buffer赋予了一个类型,编译器会认为这段代码是在比较二者的类型,这个在ArkTS中是不允许的。要把Uint8Array转成ArrayBuffer,只要let buffer = uint8Array.buffer就行。

let uint8array = new Uint8Array([1,2,3,4,5])
let arrayBuffer = uint8array.buffer

其中的buffer方法在ArkTS中的定义为:

interface ArrayBufferTypes {
  ArrayBuffer: ArrayBuffer;
}
type ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes];
分享
微博
QQ
微信
回复
3天前
相关问题
如何将Uint8ArrayArrayBuffer
627浏览 • 1回复 待解决
Uint8Array如何转成ArrayBuffer
1718浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转为ArrayBuffer
159浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
168浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
703浏览 • 1回复 待解决
如何将Uint8Array转字符串?
744浏览 • 1回复 待解决
如何将字符串转为Uint8Array
1002浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
1672浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
193浏览 • 2回复 待解决
HarmonyOSUint8Array
219浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
151浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
223浏览 • 2回复 待解决
HarmonyOS Uint8Array转16进制
140浏览 • 2回复 待解决
如何将ArrayBuffer转成string?
694浏览 • 1回复 待解决
Uint8Array 如何直接转为String or Json
2906浏览 • 1回复 待解决
Uint8Array是@Sendable类吗?
384浏览 • 1回复 待解决
如何将ArrayBuffer转成string
2697浏览 • 1回复 待解决
HarmonyOS uint8Array转字符串
205浏览 • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转?
632浏览 • 1回复 待解决
HarmonyOS List<number>怎么转Uint8Array
134浏览 • 1回复 待解决