GZipStream 壓縮與解壓資料

2022-02-18 02:47:50 字數 1586 閱讀 7173

簡介:此類表示 gzip 資料格式,它使用無失真壓縮和解壓縮檔案的行業標準演算法。這種格式包括乙個檢測資料損壞的迴圈冗餘校驗值。gzip 資料格式使用的演算法與 deflatestream 類的演算法相同,但它可以擴充套件以使用其他壓縮格式。這種格式可以通過不涉及專利使用權的方式輕鬆實現。gzip 的格式可以從 rfc 1952「gzip file format specification 4.3(gzip 檔案格式規範 4.3)gzip file format specification 4.3(gzip 檔案格式規範 4.3)」中獲得。此類不能用於壓縮大於 4 gb 的檔案

var list = new list();

for (int i = 0; i < 1000; i++)

條資料", url = "

"});

}//進行壓縮資料

memorystream responsestream = new

memorystream();

using (gzipstream compressedstream = new gzipstream(responsestream, compressionmode.compress, true

))

"+ "

\r\n\r\n");

byte buffer = new

byte

[st.length];

int checkcounter = st.read(buffer, 0

, buffer.length);

if (checkcounter != buffer.length) throw

new compressedstream.write(buffer,

0, buffer.length);

}responsestream.position = 0

;

var kk =responsestream;

var txt =encoding.utf8.getstring(kk.toarray());

console.writeline($

"壓縮後資料長度為=,壓縮結果為=

"+"\r\n\r\n");

//解壓資料

memorystream source = new

memorystream();

using (gzipstream gs = new gzipstream(kk, compressionmode.decompress, true

))

}var txt1 =encoding.utf8.getstring(source.toarray());

console.writeline($

"解壓後資料長度為=,壓縮結果為=

" + "

\r\n\r\n

");

結果:

壓縮 解壓縮流GZipStream

如果要在壓縮過程中檢查錯誤或要與其他作業系統所用程式共享壓縮資料,則要是用gzipstream類。gzipstream類包含是用gzip資料格式進行壓縮和解壓縮檔案的方法,該類不能用於解壓縮大於4gb的檔案。一 屬性 basestream 獲取對基礎流的引用。canread 獲取乙個值,該值指示流是...

C 壓縮與解壓縮流類 GZipStream 的使用

在使用 gzipstream 進行壓縮的時候,在最後必須呼叫 close 方法,否則會發現解壓縮後少乙個位元組,當壓縮的檔案小於4kb時,解壓縮到檔案長度為0.下面為乙個完整的壓縮與解壓縮檔案的 以做參考 private void button1 click object sender,eventa...

使用GZipStream實現壓縮和解壓縮

之前做專案,涉及到存入到資料庫或者http傳輸的資料量比較大,這個時候,就需要考慮在存入資料庫或者傳送傳輸之前,將資料壓縮下,當從資料庫中取出時,再解壓還原資料。特地找了下發現有gzipstream可以實現這個功能。此類表示gzip資料格式,該格式使用行業標準演算法進行無損檔案壓縮和解壓縮。該格式包...