簡體   English   中英

C ++解壓縮gzip字節數組

[英]C++ Decompress a gzip array of bytes

這是完整的情況:我正在使用平鋪的.tmx文件的地圖閱讀器。 大多數時候,tile都保存在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。 我如何在C中進行base64編碼(解碼)?應該對你有所幫助)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM