使用GZipStream實現壓縮和解壓縮

2021-10-22 18:47:27 字數 720 閱讀 9140

之前做專案,涉及到存入到資料庫或者http傳輸的資料量比較大,這個時候,就需要考慮在存入資料庫或者傳送傳輸之前,將資料壓縮下,當從資料庫中取出時,再解壓還原資料。特地找了下發現有gzipstream可以實現這個功能。此類表示gzip資料格式,該格式使用行業標準演算法進行無損檔案壓縮和解壓縮。該格式包括用於檢測資料損壞的迴圈冗餘校驗值。gzip資料格式使用與deflatestream類相同的演算法,但可以擴充套件為使用其他壓縮格式。該格式很容易以專利未涵蓋的方式實施。從.net framework 4.5開始,deflatestream類使用zlib庫進行壓縮。因此,與.net framework的早期版本相比,它提供了更好的壓縮演算法,並且在大多數情況下,提供了較小的壓縮檔案。

gzipstream使用的一般流程如下:

開啟乙個現有的檔案

開啟/建立輸出檔案

建立gzipstream物件

逐字節讀原始檔,並把它傳遞到gzipstream

使用gzipstream寫入到輸出檔案流

1、壓縮字串

/// /// 壓縮字串,回傳 base64 結果

/// 

/// 

/// 

public static string ziptext(string text)

{byte inputbytes = encoding.utf8.getbytes(text);

return zip

GZipStream實現壓縮以及出現的問題

在抓取頁面的過程中,在儲存抓取到的頁面內容的時候我需要先將頁面壓縮再儲存,為了使用上的方便,採用了2.0下的gzipstream來進行壓縮。引用如下 using system.io using system.io.compression public static byte compress byt...

GZipStream實現壓縮以及出現的問題

在抓取頁面的過程中,在儲存抓取到的頁面內容的時候我需要先將頁面壓縮再儲存,為了使用上的方便,採用了2.0下的gzipstream來進行壓縮。引用如下 using system.io using system.io.compression public static byte compress byt...

GZipStream實現壓縮以及出現的問題

在抓取頁面的過程中,在儲存抓取到的頁面內容的時候我需要先將頁面壓縮再儲存,為了使用上的方便,採用了2.0下的gzipstream來進行壓縮。引用如下 usingsystem.io usingsystem.io.compression public static bytecompress byteda...