آقا براتون یه سری توضیح با زبان ساده از الگوریتم های فشرده سازی فایل ها اوردم بری کیف عالم رو بکنین ! که بعضایش کار منه و بعضیاش کار دوستانم !

لینک هارو برین دریفت کنین و نظر هم بدین !

http://www.csharp.persiangig.com/document/Alghorithm.zip

http://www.csharp.persiangig.com/document/Algorithm2.zip

http://techmix.persiangig.com/Compress[1].pdf

اینا همه به زبان فارسی هستند و خیلی هم ساده موضوع رو مطرح کردند و کار کردند خیلی مفیدن  !!!!!

اما قسمت بعدی هم دوتا سورس مامانی تو دل برو دات نت {سی شارپ و وی بی} برای ااین الگو هاست امیدوارم مفید باشه

اولی الگوی انکد کردن با(( آر لی ای)) هست که به زبان سی شارپ و توسط من نوشته شده :

private string looped;//Dim looped() As String (Char Hayeh Tekrary!!!)
            private string sh;

public string RLE(string str)
      { 
         sh=null;
         looped=str[0].ToString();
         int len=str.Length;//Dim len As Integer=Len(str2)
         char lastchr;//Dim lastchr As String
         try
         {
            for(int b=1;b!=str.Length;b++)//For b=1 To Len(str2(i)
            {
               lastchr=str[b-1];
               if(lastchr==str[b])
               {
                  looped=looped+str[b];
               }
               else if(lastchr!=str[b])
               {
                  looped+="|";
                  looped=looped+str[b];
               }
            }//End For
            string[]after=looped.Split("|".ToCharArray());
            for(int i=0;i!=after.Length;i++)
            {
               sh+=after[i].Length.ToString()+after[i].Substring(0,1);
            }
            //sh=sh.Replace("|","");
         }
         catch(System.Exception ea)
         {
            MessageBox.Show(ea.Message);
         }
         return sh;
      }

الگوی بعدی هم الگوی ددیکد کردن این الگوریته که به زبان وی بی دات نت و توسط دوست عزیزم امیر نوشته شده  :

Public Function RLD(ByVal TxtInput As String) As String
        Dim nextB, newB, Tekrar, outT As String
        Dim i, d As Integer
        i = 1
        Do Until i > Len(TxtInput)
            nextB = Mid(TxtInput, i + 1, 1)
            newB = Mid(TxtInput, i, 1)
            If IsNumeric(newB) And IsNumeric(nextB) = False Then
                For d = 1 To newB
                    Tekrar = Tekrar & nextB
                Next
            Else
                If Len(Tekrar) > 0 Then
                    outT = outT & Tekrar
                    Tekrar = ""
                Else
                    outT = outT & newB
                End If

            End If
            i = i + 1
        Loop
        Return outT
    End Function

خب امیدوارم مفید واقع شده باشه !!! آقا نظر یادتون نره ها !!!!