在javascript中解压缩gzip和zlib字符串 [英] Decompress gzip and zlib string in javascript

查看:1874
本文介绍了在javascript中解压缩gzip和zlib字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从tmx文件中获取压缩层数据。谁知道在javascript中解压缩gzip和zlib字符串的库?我尝试 zlib 但它对我不起作用。例如,tmx文件中的图层数据是:

I want to get compress layer data from tmx file . Who knows libraries for decompress gzip and zlib string in javascript ? I try zlib but it doesn't work for me . Ex , layer data in tmx file is :

  <data encoding="base64" compression="zlib">
       eJztwTEBAAAAwqD1T20JT6AAAHgaCWAAAQ==
  </data>

我的javascript代码是

My javascript code is

var base64Data = "eJztwTEBAAAAwqD1T20JT6AAAHgaCWAAAQ==";
var compressData = atob(base64Data);
var inflate = new Zlib.Inflate(compressData);
var output = inflate.decompress();

它运行时显示消息错误不支持的压缩方法。但我尝试使用在线工具解压缩为 http://i-tools.org/gzip ,它会返回正确的字符串。

It runs with displays message error "unsupported compression method" . But I try decompress with online tool as http://i-tools.org/gzip , it returns correct string.

推荐答案

我可以通过 zlib <解决我的问题/ a>。我将代码修改如下

I can solve my problem by zlib . I fix my code as below

var base64Data = "eJztwTEBAAAAwqD1T20JT6AAAHgaCWAAAQ==";
var compressData = atob(base64Data);
var compressData = compressData.split('').map(function(e) {
    return e.charCodeAt(0);
});
var inflate = new Zlib.Inflate(compressData);
var output = inflate.decompress();

这篇关于在javascript中解压缩gzip和zlib字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆