import * as pako from 'pako';
export function compress(data: string): string {
try {
// 使用 pako 库进行 GZIP 压缩
let compressed: undefined | Uint8Array = pako.gzip(data);
// 将压缩后的 Uint8Array 转换为 Base64 编码的字符串
if (compressed) {
return Base64Util.encodeToStrSync(compressed)
} else {
console.error('压缩异常=', compressed);
return ''
}
} catch (e) {
console.error('压缩异常=', e);
return '';
}
}
压缩过程会卡主线程,如何解决?
pako压缩时间较长,建议使用多线程任务,参考示例:https://gitee.com/harmonyos\_samples/concurrent-module