gpt4 book ai didi

C++解压缩一个gzip字节数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:04 31 4
gpt4 key购买 nike

这是完整的情况:我正在为 .tmx 文件开发 map 阅读器,来自平铺。大多数情况下,图 block 都保存在 base64 字符串中,其中包含一个由 gzip 压缩的字节数组。现在我可以读取压缩字节数组,但我不知道如何解压缩它。我阅读了一些关于 zlibboost 的文档,但两者都是关于文件流的,而且非常复杂......

我是数据压缩领域的新手,所以如果有人知道某种解决方案或一些有用的文档,我将不胜感激。

最佳答案

#include <fstream>
#include <iostream>
#include <boost/iostreams/filtering_streambuf.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/iostreams/filter/gzip.hpp>

int main()
{
using namespace std;

ifstream file("hello.gz", ios_base::in | ios_base::binary);
filtering_streambuf<input> in;
in.push(gzip_decompressor());
in.push(file);
boost::iostreams::copy(in, cout);
}

在查看上述摘自 http://www.boost.org/doc/libs/1_36_0/libs/iostreams/doc/classes/gzip.html 的示例时,我不确定有什么困难或复杂之处.解压非常简单。在你解压之前,确保你解码了 base64。 (How do I base64 encode (decode) in C? 应该可以帮到你)

关于C++解压缩一个gzip字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929994/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com