qrCode二维码字符串长度太多压缩的问题

  昨天整微信的扫码支付时,用qrcode生成二维码,结果字符串太长而失败。今天发现利用pako压缩,可扫描后显示乱码,特记录一下。
  palo插件地址:https://github.com/nodeca/pako
  qrcode插件地址:https://github.com/jeromeetienne/jquery-qrcode

  第一步:引入插件
  <script src="__STATIC__/Js/jquery.min.js"></script>
  <script src="__STATIC__/Js/pako.min.js"></script>
  <script src="__STATIC__/Js/jquery.qrcode.min.js"></script>
  第二步:调用方法
  var binaryString = pako.deflate(JSON.stringify(str), { to: 'string' });//字符串压缩处理
  这里的str可以内容为2000个字节以上,具体我没怎么测,压缩后的内容只有400多个字节,当然要区分中英文数字等。接下来开始生成压缩后内容的二维码
  $('.qrcode').qrcode(binaryString);   //二维码,但扫描后为乱码
  扫描出的结果经过以下表达式则会还原原来的字符串
  var restored = JSON.parse(pako.inflate(binaryString, { to: 'string' }));//字符串解压缩处理

原文地址:https://www.cnblogs.com/bwteacher/p/7919423.html