🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# RMOS / String text sıkıştırma zipleme Compression Decompression string

1-) C# RMOS - String text sıkıştırma zipleme Compression Decompression string

 

Kaynak: https://stackoverflow.com/questions/7343465/compression-decompression-string-with-c-sharp

 

KULLANIMI:

sıkıştırma:

string  mtn=File.ReadAllText("Metin.txt");

string vs = Zip(mtn);

File.WriteAllText("SıkıştırılmışMetin.txt", vs);

 

çözme:

zipli = File.ReadAllText("SıkıştırılmışMetin.txt");

byte[] byt=Convert.FromBase64String(zipli);

string cozumlu= Unzip(byt);

File.WriteAllText("Metin.txt", cozumlu);

METOTLAR:

 

public static void CopyTo(Stream src, Stream dest)

        {

            byte[] bytes = new byte[4096];

 

            int cnt;

 

            while ((cnt = src.Read(bytes, 0, bytes.Length)) != 0)

            {

                dest.Write(bytes, 0, cnt);

            }

        }

 

        public static string Zip(string str)

        {

            var bytes = Encoding.UTF8.GetBytes(str);

 

            using (var msi = new MemoryStream(bytes))

            using (var mso = new MemoryStream())

            {

                using (var gs = new GZipStream(mso, CompressionMode.Compress))

                {

                    CopyTo(msi, gs);

                }

 

                return Convert.ToBase64String(mso.ToArray());

            }

        }

 

        public static string Unzip(byte[] bytes)

        {

            using (var msi = new MemoryStream(bytes))

            using (var mso = new MemoryStream())

            {

                using (var gs = new GZipStream(msi, CompressionMode.Decompress))

                {

                    //gs.CopyTo(mso);

                    CopyTo(gs, mso);

                }

 

                return Encoding.UTF8.GetString(mso.ToArray());

            }

        }

 

 

 

       

 

KÜTÜPHANELER:

using System;

using System.IO;

using System.IO.Compression;

using System.Text;

using System.Windows.Forms;

 2022 Mayıs 14 Cumartesi
 428