import { util } from "@kit.ArkTS"; import { BusinessError } from "@kit.BasicServicesKit"; /** * 将base64数据转换为arraybuffer * @param data base64数据 * @returns Promise */ function btoa_x(data: string): ArrayBuffer { const base64 = new util.Base64Helper(); const dataSplit = data.split(","); const uint8Array = base64.decodeSync(dataSplit.length > 1 ? data.split(",")[1] : data); const buffer: ArrayBuffer = uint8Array.buffer.slice(0, uint8Array.byteLength); return buffer } function atob_x(data:ArrayBuffer){ const base64 = new util.Base64Helper(); const unit8data = new Uint8Array(data) return base64.encodeToStringSync(unit8data) } export const base64ToArrayBuffer = (data : string) :ArrayBuffer => { try { return btoa_x(data) } catch (error) { const e = error as BusinessError; console.error("TMUI",e.message) return new ArrayBuffer(0) } } export const arrayBufferToBase64 = (data : ArrayBuffer) : string => { try { return atob_x(data) } catch (error) { const e = error as BusinessError; console.error("TMUI",e.message) return '' } }