【pako.js】uniapp、vue:Uint8Array解码

2,472 阅读1分钟

blog.csdn.net/zg97zb/arti…

适用平台 uniapp、vue

使用工具 pako 、npm、base64、HbuilderX

上传数据到服务器:准备好需要压缩的数据=》使用pako进行二进制压缩=》将压缩的结果进行base64加密

从服务器接受数据:将接收到的base64数据惊醒base64解密=》使用pako对解密的结果进行二进制解压=》获取最终数据

未设置全局方法所以那个页面需要就导入那个页面

npm 安装pako (注意需要在项目的根目录下执行)

npm install pako --save

test.vue

<script>
	
	var pako = require('pako');
 
        export default {
		onLoad() {
			var test = { my: 'super', puper: [456, 567], awesome: 'pako' };
			var binaryString = pako.deflate(JSON.stringify(test), { to: 'string' });
			var bTest = Base64.decode(test)
			console.log(typeof(binaryString),typeof(bTest))
			var restored = JSON.parse(pako.inflate(bTest, { to: 'string' }));
                        //JSON.parse()的功能是将转换完成的字符串转换为js对象
			console.log(restored)
			// console.log(MD5('admin').toString().toUpperCase())//MD5
		},
		data() {
			return {
				
			}
		},
		methods: {
			
		}
	}
 
</script>

示例:

vue

var pako = require('pako');

export default {
		data() {
			return {}
                },


		methods: {
			getCity: function(url){
				uni.request({
					url: url,
					method: 'GET',
					responseType: "arraybuffer",
					success(res) {
						var uint8array = new Uint8Array(res.data);
						const output = pako.inflate(uint8array,{
						        to: "string"
						});
						
						let address = JSON.parse(output)
						
						console.log("address", address)
						
					},
					fail(err){
						console.log("err//", err);
					}
				})
			},
}