问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jszip如何解压字符串

发布网友 发布时间:2022-04-22 15:44

我来回答

2个回答

懂视网 时间:2022-04-22 20:05

本篇文章给大家带来的内容是关于js实现gzip解压缩的代码实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

代码如下:

<!DOCTYPE html>
<html lang="zh">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
 <script src="https://cdn.bootcss.com/pako/1.0.6/pako.min.js"></script>
 </head>
 <body>
 <input id="content" type="text">
 <button onclick="encode()">encode</button>
 <button onclick="decode()">decode</button>
 <div id="ciphertext"></div>
 </body>
 </html>
 <script type="text/javascript">
 function encode(){
 var str = $('#content').val();
 str = window.btoa(pako.gzip(str, {to: "string"}))
 $('#ciphertext').text(str);
}
function decode(){
 var encodedData = $('#content').val(); 
 var decodedData = window.atob(encodedData); 
 var charData = decodedData.split('').map(function(x){return x.charCodeAt(0);}); 
 var binData = new Uint8Array(charData); 
 var data = pako.inflate(binData); 
 decodedData = String.fromCharCode.apply(null, new Uint16Array(data)); 

 $('#ciphertext').text(decodedData);
}
</script>

热心网友 时间:2022-04-22 17:13

其实php对gzip解压很简单,用内置的gzdecode函数就可以了,不过很可惜我配置了半天也无法支持gzdecode函数,所以只好变通一下: 复制代码 代码如下: if (!function_exists('gzdecode')) { function gzdecode ($data) { $flags = ord(substr($data, 3, 1)); $headerlen = 10; $extralen = 0; $filenamelen = 0; if ($flags & 4) { $extralen = unpack('v' ,substr($data, 10, 2)); $extralen = $extralen[1]; $headerlen += 2 + $extralen; } if ($flags & 8) // Filename $headerlen = strpos($data, chr(0), $headerlen) + 1; if ($flags & 16) // Comment $headerlen = strpos($data, chr(0), $headerlen) + 1; if ($flags & 2) // CRC at end of file $headerlen += 2; $unpacked = @gzinflate(substr($data, $headerlen)); if ($unpacked === FALSE) $unpacked = $data; return $unpacked; } } 调用方法很简单: 复制代码 代码如下: $f=@file_get_contents(""); echo gzdecode($f);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“晚来天欲雪,能饮一杯无?”是什么意思_出处及原文翻译_学习力 胸肌中部怎么练 血沉高是怎么回事,怎样才能降低啊! 中海锦江城多久交房 “QMS”作为“质量管理体系”的英文缩写,其背后理论及应用如何?_百度... 我用QQ登的快手绑定了一个电话号码,电话号码不用了,现在怎么能登得进去... 桂林银行白金客户条件 桂林银行最高等级卡 iQOO 11系列曝光,预计年底正式发布! vivo X90先别买?iQOO 11系列配置堪称豪华 取个带雅名字。。 帮忙起个带“雅”的名字 上海回沪帮困医保标准 请问上海的“职工互助医疗保障”的住院应报销自费的多少? 在武汉永清街爱齿尔做个根管治疗加个牙冠得多少钱 武汉哪个医院牙科最牛? 医疗互助报销比例 种植牙是怎么做的?武汉爱齿尔口腔可以做吗? 牙齿矫正,武汉哪个医院看好?武汉大学口腔医院好还是爱齿尔口腔医院好呢? 问下各位,武汉爱齿尔牙齿正畸怎么样,他们说检查费全免,一颗牙齿只有561~2000之间的价格, 武汉爱齿尔医院做冷光美白的效果怎么样? 武汉爱齿尔拔智齿专业吗?刚刚长出来的智齿,疼的不行,要拔掉 想做种植牙,武汉爱齿尔可以做吗 怎么样? 武汉爱齿尔怎么呀? 我这电脑配置开直播很卡,需要换什么配置啊? 修改后,我已删除的好友还能再找到我吗? 换还能找回之前被删的好友吗? 请教如何通过代码实现ASP网站GZIP压缩 现在买手机卡多少钱? 换还能找回之前被删的好友吗? 雅字的三个名字 以雅字开头的女生名字。比如:雅柔。帮忙起两个个别的 手机黑屏怎么修 《数学课程标准》在“数与代数”的设计上加强的方面是什么? 义务教育《数学课程标准(2011年版)》中的教学内容包含哪四个领域 索尼电脑14寸屏碎了,换内屏的话大概多少钱?急,谢谢了! 我的SONY笔记本 SVF15AA1PT的屏幕裂了,换个屏幕要多少钱。。 我sony笔记本屏幕坏了 sony PCG-3D1T笔记本换屏大概多少钱? 声音对脑功能有什么影响 我从小有癫痫,现在感觉智力下降,反应迟钝,身体体能很差,我想问长期吃药身体和大脑功能有多大影响 防潮垫哪种好 大脑为何比起身体其他组织脆弱? 防潮垫哪个牌子好 户外防潮垫充气垫什么牌子好 人的脑功能只开发了10%,这个说法有没有科学依据呢? 夏季用什么防潮垫好? 地板用什么防潮垫好? m7h主板铜柱装在哪,对在什么位置,求图解 这个机箱主板压铆螺柱装在哪里呀,我主板是微星z390(ATX标准型)