为了账号安全,请及时绑定邮箱和手机立即绑定

如何解压缩 php 中的数据以及使用 js 中的 pako.deflate 的数据

如何解压缩 php 中的数据以及使用 js 中的 pako.deflate 的数据

PHP
HUWWW 2022-07-16 17:22:36
我pako.deflate用来压缩javascript中的数据,如下所示:js file:const params = [{id: 5, name: '张三', list: [{code: '10010', type: 'media'}]},{id: 6, name: '李四', list: [{code: '20010', type: 'site'}]}]let binaryString = pako.deflate(JSON.stringify(params), { to: 'string' })http.post({data: binaryString})...在网络服务器中,我需要使用 PHP 解压缩该数据。这就是我所做的php file:$data = $params['data']; // got the right post data$res = gzinflate(base64_decode($data));echo $res; //echo false但$res回声false我错过了什么?
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您在服务器上进行 base64 解码 - 在发布数据之前,您实际上是否在客户端进行了 base64 编码?发布的代码中没有迹象表明这种情况正在发生。

我怀疑您很可能正在发送一个压缩的 utf-8 字符串作为您的数据,然后尝试对包含更大范围字符的字符串进行 base64解码

也许看看$params['data']包含什么字符 - 如果它们中的任何一个超出 base64 范围(是a-zA-Z0-9+/, 并且可能是尾随=),那么我认为这就是问题所在。

然后,您可以尝试简单地将行更改为:

$res = gzinflate($data);


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 239 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号