在C#中,可以使用System.IO.Compression
命名空間下的類來對數據進行壓縮。以下是一個簡單的示例,展示了如何使用GZip壓縮和解壓縮字符串:
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
class Program
{
static void Main()
{
string originalData = "這是一個需要壓縮的字符串。";
// 壓縮數據
byte[] compressedData = Compress(Encoding.UTF8.GetBytes(originalData));
Console.WriteLine("壓縮后的數據大小: " + compressedData.Length);
// 解壓縮數據
byte[] decompressedData = Decompress(compressedData);
string decompressedString = Encoding.UTF8.GetString(decompressedData);
Console.WriteLine("解壓縮后的字符串: " + decompressedString);
}
static byte[] Compress(byte[] data)
{
using (var memoryStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Compress))
{
gzipStream.Write(data, 0, data.Length);
}
return memoryStream.ToArray();
}
}
static byte[] Decompress(byte[] data)
{
using (var memoryStream = new MemoryStream(data))
{
using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Decompress))
{
using (var memoryStreamdecompressed = new MemoryStream())
{
gzipStream.CopyTo(memoryStreamdecompressed);
return memoryStreamdecompressed.ToArray();
}
}
}
}
}
這個示例中,Compress
方法將字符串轉換為字節數組并使用GZip壓縮,Decompress
方法將壓縮后的字節數組解壓縮回字符串。你可以根據需要替換為其他壓縮算法,如Deflate
。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。