vue基于pako.js实现文gzip文件解压,处理从接口拿到的gzip文件流

本文介绍如何在Vue.js项目中利用pako.js库处理从接口获取的gzip文件流,包括安装pako.js、发送GET请求、解压缩数据及确保汉字正确显示的完整过程。
摘要由CSDN通过智能技术生成

1.安装pako.js

npm install pako

2.使用GET请求获取gzip文件流

axios({
  method: 'get',
   url: 'https://xxx/xxx.gz',
   responseType: 'arraybuffer', // 注意这个参数必须加,不然会出现下载好的文件打开是乱码情况,这个参数是为了告诉axios请求,请求的是二进制数据流
 })

3.处理返回的文件流

const byteArray = new Uint8Array(res.data); // 切换数据编码为Uint8Array
const pakoArr = pako.ungzip(byteArray); // 调用 pako 的方法解压数据

4.解压后将数据转化为字符串,并兼容汉字

const data = this.Utf8ArrayToStr(pakoArr);

Utf8ArrayToStr(array) {
  let str = '';
   let i = 0;
   const len = array.length;
   let char1 = 0;
   let char2 = 0;
   let char3 = 0;
   let char4 = 0;
   while (i < len) {
     char1 = array[i += 1];
     // 当单个字节时, 最大值 '01111111', 最小值 '00000000' 右移四位 07, 00
     /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值