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
2025-01-09 14:27:06
浏览
收藏 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
微信
回复
2025-01-09 16:28:50
相关问题
Uint8Array如何转成ArrayBuffer
1852浏览 • 1回复 待解决
如何将Uint8ArrayArrayBuffer
776浏览 • 1回复 待解决
HarmonyOS 如何将Uint8Array转为ArrayBuffer
293浏览 • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array
423浏览 • 1回复 待解决
ArrayBuffer怎么转Uint8Array
905浏览 • 1回复 待解决
如何将Uint8Array转字符串?
1031浏览 • 1回复 待解决
如何将字符串转为Uint8Array
1301浏览 • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer
1965浏览 • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码
557浏览 • 2回复 待解决
HarmonyOSUint8Array
414浏览 • 1回复 待解决
HarmonyOS 录音发送Uint8Array
276浏览 • 1回复 待解决
HarmonyOS string转Uint8Array
498浏览 • 2回复 待解决
HarmonyOS Uint8Array转16进制
364浏览 • 2回复 待解决
如何将ArrayBuffer转成string?
833浏览 • 1回复 待解决
如何将ArrayBuffer转成string
2897浏览 • 1回复 待解决
Uint8Array 如何直接转为String or Json
3191浏览 • 1回复 待解决
Uint8Array是@Sendable类吗?
576浏览 • 1回复 待解决
HarmonyOS uint8Array转字符串
524浏览 • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转?
1061浏览 • 1回复 待解决