SHARE
TWEET

Untitled

a guest Feb 17th, 2019 68 in 241 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3. namespace Conquer
  4. {
  5.     public class Compress
  6.     {
  7.         public static string rle_encode(string msg)
  8.         {
  9.             char c = msg[0];
  10.             int nb = 1;
  11.             string end = "";
  12.             int x = msg.Length;
  13.             for (int i = 1; i < x; i++)
  14.             {
  15.                 if (c == msg[i] && nb < 9)
  16.                 {
  17.                     nb += 1;
  18.                 }
  19.                 else
  20.                 {
  21.                     end = end + Convert.ToString(nb) + c;
  22.                     c = msg[i];
  23.                     nb = i;
  24.                 }
  25.             }
  26.  
  27.             return end + Convert.ToString(nb) + c;
  28.         }
  29.  
  30.         public static string unaray_encode(int n)
  31.         {
  32.             return new string('0', n) + '1';
  33.         }
  34.  
  35.         public static int unary_decode(string msg)
  36.         {
  37.             return msg.Length - 1;
  38.         }
  39.  
  40.         public static string gamma_encode(int n)
  41.         {
  42.             string a = Convert.ToString((n, 2));
  43.             int l = a.Length - 1;
  44.             for (int i = 0; i < l; i++)
  45.             {
  46.                 a = '0' + a;
  47.             }
  48.  
  49.             return a;
  50.         }
  51.        
  52.         public static int gamma_decode(string msg)
  53.         {
  54.             int i = 0;
  55.             string a = "";
  56.             while (msg[i] == 0) i++;
  57.             for (int j = i + 1; i < 2 * i + 1; j++) a += msg[j];
  58.             return Convert.ToByte((a, 2));
  59.         }
  60.  
  61.    }
  62. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top