private void Huffman()
        {
            String reg = "";

            /*  //排序前
             * for(int i = 0; i < char_num; i++)
             * {
             *    reg += Charset[i].char_name + " " + Charset[i].char_time + '\n';
             * }
             * MessageBox.Show("" + reg);*/

            //排序 -> 最小的兩個相加
            for (int i = 0; i < char_num; i++)
            {
                for (int j = i; j < char_num; j++)
                {
                    if (Charset[i].char_time > Charset[j].char_time)
                    {
                        CharTime reg3 = new CharTime(Charset[i].char_name, Charset[i].char_time);
                        Charset[i] = Charset[j];
                        Charset[j] = reg3;
                    }
                }
            }
            reg = "";

            //解讀最小跟第二小的集合有哪些
            if (!(Charset[0] == null || Charset[1] == null))
            {
                Analysis(Charset[0].char_name, Charset[1].char_name);


                //最小的兩個相加
                Charset[1].char_name  = '\n' + Charset[0].char_name + " " + Charset[1].char_name;
                Charset[1].char_time += Charset[0].char_time;

                //把變成null那個推到最後去
                CharTime reg2 = new CharTime(Charset[char_num - 1].char_name, Charset[char_num - 1].char_time);
                Charset[char_num - 1] = Charset[0];
                Charset[0]            = reg2;
                Charset[char_num - 1] = null;
                char_num--;

                /*       //排序後
                 *     for (int i = 0; i < Huffman_code_count; i++)
                 *     {
                 *         reg += Huffman_Code[i].char_name + " " + Huffman_Code[i].Huffmancode + '\n';
                 *     }
                 *     MessageBox.Show("" + reg);*/
            }
        }
        private void Message_Preset()
        {
            try
            {
                using (OpenFileDialog ofd = new OpenFileDialog()
                {
                    Filter = "Text Documents|*.txt", Multiselect = false, ValidateNames = true
                })
                {
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        using (StreamReader sr = new StreamReader(ofd.FileName, Encoding.GetEncoding(950), true))
                        {
                            //存取檔案路徑
                            file_path = ofd.FileName;

                            HW_Message = sr.ReadToEnd();

                            //確認有沒有讀取到
                            //MessageBox.Show("" + HW_Message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("讀檔失敗!!!!");
            }
            // MessageBox.Show("" + HW_Message);


            string[] a_whole_new_world = HW_Message.Split('\n');
            int      Charset_index     = 0;
            //檢查是不是存 字元的name
            bool is_name_store = true;

            foreach (string reg in a_whole_new_world)
            {
                string[] spli  = { "  ", " ", "," };
                string[] name1 = reg.Split(spli, System.StringSplitOptions.RemoveEmptyEntries);
                foreach (string reg2 in name1)
                {
                    if (is_name_store)
                    {
                        //MessageBox.Show("name " + reg2);
                        //存入char裡面
                        Charset[Charset_index]      = new CharTime("" + reg2);
                        Huffman_Code[Charset_index] = new CharTime("" + reg2);
                        Charset_index++;
                    }
                    if (!is_name_store)
                    {
                        // MessageBox.Show("time " + reg2);
                        //把次數存入裡面
                        Charset[Charset_index].store_time(Int32.Parse(reg2));
                        Charset_index++;
                    }
                }
                is_name_store      = false;
                char_num           = Charset_index;
                Huffman_code_count = Charset_index;
                Charset_index      = 0;
            }

            /* MessageBox.Show("總共" + char_num + "個char");
             * for(int i = 0; i < char_num; i++)
             * {
             *   MessageBox.Show("" + Charset[i].char_name + " " + Charset[i].char_time);
             * }*/
        }