md
This commit is contained in:
parent
f989fbe810
commit
4f8b4cb8f5
37
src/utils/compress.js
Normal file
37
src/utils/compress.js
Normal file
@ -0,0 +1,37 @@
|
||||
// 导入pako
|
||||
import { base64 } from 'js-md5'
|
||||
import pako from 'pako'
|
||||
|
||||
/**
|
||||
* gzip 解压缩
|
||||
* @param {*} b64Data
|
||||
* @returns
|
||||
*/
|
||||
export function unzip (b64Data) {
|
||||
let strData = atob(b64Data)
|
||||
// Convert binary string to character-number array
|
||||
const charData = strData.split('').map(function (x) { return x.charCodeAt(0) })
|
||||
// Turn number array into byte-array
|
||||
const binData = new Uint8Array(charData)
|
||||
// // unzip
|
||||
const decompressed = pako.inflate(binData)
|
||||
return new TextDecoder('utf-8').decode(decompressed);
|
||||
}
|
||||
|
||||
/**
|
||||
* gzip 压缩
|
||||
* @param {*} str
|
||||
* @returns
|
||||
*/
|
||||
export function zip (str) {
|
||||
if (typeof str !== 'string') {
|
||||
str = JSON.stringify(str)
|
||||
}
|
||||
const binaryString = pako.gzip(str, { to: 'string' })
|
||||
return btoa(binaryString)
|
||||
}
|
||||
|
||||
export function unzipToJson(b64Data) {
|
||||
const decStr=unzip(b64Data)
|
||||
return eval(''+decStr+'');
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user