對檔案和字串壓縮及解壓縮類

2021-08-27 17:01:06 字數 1828 閱讀 7443

/// /// 對檔案和字串壓縮及解壓縮類

///

public class gzip

/// /// 對字串進行解壓縮

///

/// 待解壓縮的字串

/// 解壓縮後的字串

public static string decompressstring(string str)

/// /// 對檔案進行壓縮

///

/// 待壓縮的檔名

/// 壓縮後的檔名

public static void compressfile(string sourcefile, string destinationfile)

/// /// 對檔案進行解壓縮

///

/// 待解壓縮的檔名

/// 解壓縮後的檔名

///

public static void decompressfile(string sourcefile, string destinationfile)

/// /// 對byte陣列進行壓縮

///

/// 待壓縮的byte陣列

/// 壓縮後的byte陣列

public static byte compress(byte data)

catch (exception e)

}public static byte decompress(byte data)

msreader.write(buffer, 0, reader);

}zip.close();

ms.close();

msreader.position = 0;

buffer = msreader.toarray();

msreader.close();

return buffer;

}catch (exception e)

}/// 對目標資料夾進行壓縮,將壓縮結果儲存為指定檔案

///

/// 目標資料夾

/// 壓縮檔案

public static void compress(string dirpath, string filename)

iformatter formatter = new binaryformatter();

using (stream s = new memorystream())

}/// 對目標壓縮檔案解壓縮,將內容解壓縮到指定資料夾

///

/// 壓縮檔案

/// 解壓縮目錄

public static void decompress(string filename, string dirpath)

}destination.flush();

destination.position = 0;

deserializefiles(destination, dirpath);}}

}private static void deserializefiles(stream s, string dirpath)}}

private static void createcompressfile(stream source, string destinationname)}}

}[serializable]

class serializefileinfo

string filename;

public string filename

}byte filebuffer;

public byte filebuffer}}

}

字串壓縮 解壓縮(時間優先)

字串壓縮 解壓縮 時間優先 壓縮 1 得到字串長度 利用長度申請一片新的記憶體newstr來儲存 2 遍歷源字串,如果不是 0 進入迴圈 宣告 pindex 來記錄當前 字元 repetitionlength 記錄重複的字元次數 3 pindex 與 pindex 1 進行比較 如果相等 repet...

學 Lazarus 字串壓縮 解壓縮

背景 1 原有c 開發的wince系統 webservice 2 客戶說wince上的終端程式執行速度慢,我也說慢 3 希望改造乙個wince上的終端程式,因為熟悉delphi所以lazarus 4 lazarus匯入的webservice 我看不明白,還涉及到資料型別轉換神馬的,決定放棄webse...

字串的解壓縮

問題描述 對字串進行解壓縮 例如 5w1g2b wwwwwgbb 解決方案 1.將輸入字串分別為集合5w 1g 2b,每個集合由乙個數字和乙個字元構成 2.從尾到頭讀取字串,當遇到乙個字元的時候,儲存下來 當遇到乙個數字的時候,我們開始建立乙個數,直到遇到下乙個字元 3.當遇到下乙個字元之前,我們應...