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(); }
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(); }