Exemple #1
0
        static void Main(string[] args)
        {
            string      input       = "ALA MA KOTA MATEMATYKA";
            HuffmanTree huffmanTree = new HuffmanTree();

            // Build the Huffman tree
            huffmanTree.Build(input);

            // Encode
            BitArray encoded = huffmanTree.Encode(input);

            Console.Write("Encoded: ");
            foreach (bool bit in encoded)
            {
                Console.Write((bit ? 1 : 0) + "");
            }
            Console.WriteLine();

            // Decode
            string decoded = huffmanTree.Decode(encoded);

            Console.WriteLine("Decoded: " + decoded);

            Console.ReadLine();
        }
Exemple #2
0
 static void Main(string[] args)
 {
     Console.Title = "App Huffman";
     while (true)
     {
         //ورود اطلاعات
         Console.Write("String :");
         string      input       = Console.ReadLine();
         HuffmanTree huffmanTree = new HuffmanTree();
         // ساخت درخت هافمن
         huffmanTree.Build(input);
         //کد بوک
         BitArray encoded = huffmanTree.Encode(input);
         Console.Write("Encode : ");
         foreach (bool bit in encoded)
         {
             Console.Write((bit ? 1 : 0) + "");
         }
         Console.WriteLine();
         // رشته اصلی
         string decoded = huffmanTree.Decode(encoded);
         Console.WriteLine("Decode : " + "'" + decoded + "'" + ", Count : " + decoded.Length);
         Console.WriteLine("---------------------------");
     }
 }
        public static void Main(string[] args)
        {
            // Console.WriteLine("Please enter the string:");

            string[] lines          = File.ReadAllLines(fileToEncode);
            var      encodedStrings = new List <BitArray>();
            // Build the Huffman tree
            var i         = 0;
            var wholeText = "";

            foreach (string line in lines)
            {
                wholeText += line;
            }
            Console.WriteLine(i++);
            HuffmanTree huffmanTree = new HuffmanTree();

            huffmanTree.Build(wholeText);
            BitArray encoded = huffmanTree.Encode(wholeText);

            encodedStrings.Add(encoded);
            Console.Write("Encoded: ");

            Console.WriteLine();
            string decoded = huffmanTree.Decode(encoded);

            foreach (var encodedString in encodedStrings)
            {
                byte[] bytes = new byte
                               [encodedString.Length / 8 + (encodedString.Length % 8 == 0 ? 0 : 1)];
                encodedString.CopyTo(bytes, 0);
                File.WriteAllBytes(encodedFileName, bytes);
            }
            Console.WriteLine("Compression Ratio: " + CompressionRatio.CalculateHuffman(wholeText, encoded).
                              ToString());
            Console.WriteLine("Source BitRate: " + BitRate.Calculate(wholeText).ToString());
            Console.WriteLine("Coded BitRate: " + BitRate.Calculate(wholeText, encoded).ToString());
            Console.WriteLine("Saving Percentage (File): " + SavingPercentage.
                              CalculateFile(Path.Combine(Environment.CurrentDirectory, fileToEncode),
                                            Path.Combine(Environment.CurrentDirectory, encodedFileName)).ToString() + "%");
            Console.WriteLine("Saving Percentage: " + SavingPercentage.
                              CalculateHuffmanSavingPercentage(wholeText
                                                               , encoded).ToString() + "%");
            Console.WriteLine("Compression Ratio (File): " + CompressionRatio.CalculateFile
                                  (Path.Combine(Environment.CurrentDirectory, fileToEncode),
                                  Path.Combine(Environment.CurrentDirectory, encodedFileName)).ToString());
        }
        static void Main(string[] args)
        {
            //Encoding enc=Encoding.GetEncoding(1251);
            string      input       = System.IO.File.ReadAllText(@"D:\Epam\goncharov.txt", Encoding.Default);
            HuffmanTree huffmanTree = new HuffmanTree();

            // Build the Huffman tree
            huffmanTree.Build(input);

            // Encode

            Console.Write("Encoded1: ");
            BitArray encoded = huffmanTree.Encode(input);

            Console.Write("Encoded2: ");
            string dec = "";

            Console.WriteLine(encoded.Length);
            int i = 0;

            foreach (bool bit in encoded)
            {
                dec += (bit ? (char)1 : (char)0);
                //  Console.Write(i++);
                //    Console.Write((bit ? 1 : 0) + "");
            }
            System.IO.File.WriteAllText(@"D:\Epam\code.txt", dec);
            Console.WriteLine();
            Console.Write("Encoded3: ");
            // Decode
            string decoded = huffmanTree.Decode(encoded);

            Console.Write("Encoded4: ");
            System.IO.File.WriteAllText(@"D:\Epam\result.txt", decoded, Encoding.Default);
            Console.WriteLine("Decoded: " + decoded);

            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Inserir o texto a ser compressado:");
            string      input       = Console.ReadLine();
            HuffmanTree huffmanTree = new HuffmanTree();

            huffmanTree.Build(input);

            BitArray encoded = huffmanTree.Encode(input);

            Console.Write("Codificado: ");
            foreach (bool bit in encoded)
            {
                Console.Write((bit ? 1 : 0) + "");
            }
            Console.WriteLine();

            string decoded = huffmanTree.Decode(encoded);

            Console.WriteLine("Decodificado: " + decoded);

            Console.ReadLine();
        }