[英]C++ Decompress a gzip array of bytes
這是完整的情況:我正在使用平鋪的.tmx
文件的地圖閱讀器。 大多數時候,tile都保存在base64
字符串中,該字符串包含由gzip
壓縮的字節數組。 現在我可以讀取壓縮字節數組,但我不知道如何解壓縮它。 我讀了一些關於zlib
和boost
文檔,但兩者都是關於文件流和非常復雜的......
我對數據壓縮領域很陌生,所以如果有人知道某種解決方案或一些有用的文檔,我真的很感興趣。
#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.