目录
JS前端压缩和解压
- JS前端压缩和解压
- 1、压缩
- 2、解压
- PHP端压缩和解压
- 1、压缩
- 2、解压
第三方工具库 pako
-
doc: http://nodeca.github.io/pako/
-
github: https://github.com/nodeca/pako
-
cdn: https://www.jsdelivr.com/package/npm/pako?path=dist
-
npmjs: https://www.npmjs.com/package/pako
前端工具类
/**
* util.js
*/
// uint8array转为base64字符串
function uint8arrayToBase64(u8Arr) {
let CHUNK_SIZE = 0x8000; //arbitrary number
let index = 0;
let length = u8Arr.length;
let result = '';
let slice;
while (index
// JS压缩,注意:需要引入dist/pako_deflate.js(仅支持压缩)或dist/pako.js(支持压缩和解压)
function compress(data) {
return uint8arrayToBase64(pako.deflateRaw(data, {
to: 'string'
}))
}
var data = {
title: "满江红·为问封姨",
author: "纳兰性德〔清代〕",
date: "2022-04-02",
content: "为问封姨,何事却、排空卷地。又不是、江南春好,妒花天气。叶尽归鸦栖未得,带垂惊燕飘还起。甚天公、不肯惜愁人,添憔悴。搅一霎,灯前睡。听半晌,心如醉。倩碧纱遮断,画屏深翠。只影凄清残烛下,离魂飘缈秋空里。总随他、泊粉与飘香,真无谓。"
}
var compressedBase64 = compress(JSON.stringify(data));
console.log(compressedBase64);
// TZDLTsJQFEX/pWNNCHHk3xA10cRoYurImLRFQAoFguWhVnkoRQyP1leblkLir3DPub0jf8FzHTndZ+19dvaFoh6pxwfKroLxAP0ej4bfAQsj0ZmDp8P4RdlScufq4ekZITx6h4KH2hhWwUazMSyw+GmjtYjZz6kyJJvJZrczO9uZLGl7pyfqwYlK8v/An2WVJS0WVcD62Gg61pp8EoEVgONtNAPq1yy0sLuQJ78HVge7Ixgl5AK3mZo+PE/Qs//IL/ASSJoidLHfRucVVh2JhS48Gpg3eaklnrrpupt+UluD23fkhcKUkulFaiww7+CVzqKIXBjEWLTRoEoGNgos1IRTI53rCyhb/GEgPzamYJl4W5Vf1nlwDVEsS12b8OGYR77Q59ieSZcdg1/HwOfr/l/VV0h8KF3RYjiv8Pw9CysSc2MxM6gkX17zcYV2EKWqLKDF4q7O4rYc4d3kb2UW1ggT7q10OT3s9FPvhkjl8hc=
2、解压
// JS解压,注意:需要引入dist/pako_inflate.js(仅支持压缩)或dist/pako.js(支持压缩和解压)
function decompress(str) {
return pako.inflateRaw(base64ToUint8Array(str), {
to: 'string'
});
}
let str = 'TZDLTsJQFEX/pWNNCHHk3xA10cRoYurImLRFQAoFguWhVnkoRQyP1leblkLir3DPub0jf8FzHTndZ+19dvaFoh6pxwfKroLxAP0ej4bfAQsj0ZmDp8P4RdlScufq4ekZITx6h4KH2hhWwUazMSyw+GmjtYjZz6kyJJvJZrczO9uZLGl7pyfqwYlK8v/An2WVJS0WVcD62Gg61pp8EoEVgONtNAPq1yy0sLuQJ78HVge7Ixgl5AK3mZo+PE/Qs//IL/ASSJoidLHfRucVVh2JhS48Gpg3eaklnrrpupt+UluD23fkhcKUkulFaiww7+CVzqKIXBjEWLTRoEoGNgos1IRTI53rCyhb/GEgPzamYJl4W5Vf1nlwDVEsS12b8OGYR77Q59ieSZcdg1/HwOfr/l/VV0h8KF3RYjiv8Pw9CysSc2MxM6gkX17zcYV2EKWqLKDF4q7O4rYc4d3kb2UW1ggT7q10OT3s9FPvhkjl8hc=';
var rawData = decompress(str);
console.log(rawData);
// {"title":"满江红·为问封姨","author":"纳兰性德〔清代〕","date":"2022-04-02","content":"为问封姨,何事却、排空卷地。又不是、江南春好,妒花天气。叶尽归鸦栖未得,带垂惊燕飘还起。甚天公、不肯惜愁人,添憔悴。搅一霎,灯前睡。听半晌,心如醉。倩碧纱遮断,画屏深翠。只影凄清残烛下,离魂飘缈秋空里。总随他、泊粉与飘香,真无谓。"}
PHP端压缩和解压
1、压缩
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?