/// /// 對檔案和字串壓縮及解壓縮類///
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.當遇到下乙個字元之前,我們應...