HarmonyOS 鸿蒙或ArkTs如何做Gzip压缩和解压缩

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙或ArkTs如何做Gzip压缩和解压缩

请问鸿蒙或者 ArkTs 如何做 Gzip 压缩和解压缩,我们内部请求需要自己压缩加密后发送过去,也就需要先 gzip 再加密


关于HarmonyOS 鸿蒙或ArkTs如何做Gzip压缩和解压缩的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

13 回复

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。

刚实现跟你们类似的一个需求:
1.依赖两个三方库,pako和CryptoJS

2.gzip压缩

export function gzip(data: string): Uint8Array {
  const options = { gzip: true, level: 9 };
  return pako.gzip(data, options)
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

3.将Uint8Array结果转String

export function uint8Arr2Str(data: Uint8Array): string {
  const wordArray = CryptoJS.lib.WordArray.create(data);
  return CryptoJS.enc.Base64.stringify(wordArray);
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

然后拿着得到的String结果去加密吧,大概率还是用CryptoJS加密。。。

PS,解压没做,不过原理差不多,去搜一下pako的用法就好了

HarmonyOS的分布式文件系统让我在多设备间传输文件变得轻松无比。

你好,我这边在import pako时提示错误,请问你这边有碰到这个问题。 import pako from ‘pako’

错误信息: oh_modules/.ohpm/pako@2.1.0/oh_modules/pako/index"’ has no default export.

希望HarmonyOS能继续优化系统稳定性,减少崩溃和重启的情况。

是不是版本不对呢,我用的"pako": “^1.0.2”, 是我装commons-compress(https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fcommons-compress)的时候依赖进来的,但是这个库只支持文件gzip,我就看了一下源码,发现底层就是用的pako,然后自己照着实现了一下发现可用,就只保留了pako其他的都删了

感谢 华为的小伙伴也是推荐的 pako

请问最后解决了吗,如何解决呢

您好,我遇到的情况是 http请求下来的数据,在用pako解压时,对http.HttpResponse  中的result数据进行解压,报了incorrect header check 
是想单独gzip一个文件,还是说在网络请求里实现先gzip再发送请求的功能

网络请求先 gzip 再加密然后发送,就是 gzip 字符串或者字节数组进行压缩或者解压缩。

您好,您是用哪个API实现gzip压缩的呢

回到顶部