1
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { util } from "@kit.ArkTS";
|
||||
import { BusinessError } from "@kit.BasicServicesKit";
|
||||
|
||||
/**
|
||||
* 将base64数据转换为arraybuffer
|
||||
* @param data base64数据
|
||||
* @returns Promise<ArrayBuffer>
|
||||
*/
|
||||
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 ''
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user