यह लेख शुरू करने में आपकी मदद कर सकता है।
निम्न स्निपेट एक स्ट्रिंग को संपीड़ित कर सकता है और आधार-64 कोडित परिणाम लौटा सकता है:
public static string Compress(string text)
{
byte[] buffer = Encoding.UTF8.GetBytes(text);
MemoryStream ms = new MemoryStream();
using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true))
{
zip.Write(buffer, 0, buffer.Length);
}
ms.Position = 0;
MemoryStream outStream = new MemoryStream();
byte[] compressed = new byte[ms.Length];
ms.Read(compressed, 0, compressed.Length);
byte[] gzBuffer = new byte[compressed.Length + 4];
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
return Convert.ToBase64String (gzBuffer);
}
संपादित करें:एक तरफ के रूप में, आप एक्सएमएल को टेक्स्ट के रूप में संग्रहीत करते समय भी सीएलओबी प्रारूपों का उपयोग करना चाह सकते हैं क्योंकि वर्चर्स की बहुत सीमित लंबाई होती है - जो एक्सएमएल अक्सर जल्दी से अधिक हो सकती है।