Maison  >  Article  >  interface Web  >  implémentation du code js pour la décompression gzip

implémentation du code js pour la décompression gzip

不言
不言original
2018-08-11 16:23:213248parcourir

Le contenu de cet article concerne l'implémentation du code de la décompression gzip dans js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Le code est le suivant :

<!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 = $(&#39;#content&#39;).val();
    str = window.btoa(pako.gzip(str, {to: "string"}))
    $(&#39;#ciphertext&#39;).text(str);
}
function decode(){
    var encodedData = $(&#39;#content&#39;).val();    
    var decodedData = window.atob(encodedData);    
    var charData    = decodedData.split(&#39;&#39;).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));  

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

Recommandations associées :

Une brève introduction et un exemple d'analyse de l'enregistrement global et de l'enregistrement local dans les composants vue.js

Comment obtenir la largeur de la barre de défilement avec js (exemple de code

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn