示例#1
0
        private void button2_Click(object sender, EventArgs e)
        {
            using (var fldrDlg = new OpenFileDialog())
            {
                if (fldrDlg.ShowDialog() == DialogResult.OK)
                {
                    string res = "";

                    for (int i = 0; i < text.Length; i++)
                    {
                        for (int j = 0; j < symbols.Count; j++)
                        {
                            if (text.Substring(i, 1).Equals(symbols[j].symbol))
                            {
                                res += symbols[j].code;
                                break;
                            }
                        }
                    }

                    List <byte> bytes      = new List <byte>();
                    byte        current    = 0;
                    byte        current_id = 0;

                    for (int i = 0; i < res.Length; i++)
                    {
                        if (current_id == 8)
                        {
                            bytes.Add(current);
                            current    = 0;
                            current_id = 0;
                        }

                        if (res[i].Equals('1'))
                        {
                            current = (byte)((current << 1) + 1);
                        }
                        else
                        {
                            current = (byte)(current << 1);
                        }

                        current_id++;
                    }

                    ReadForm r = new ReadForm();
                    r.textBox1.Text = res;
                    r.Show();

                    File.WriteAllBytes(fldrDlg.FileName, bytes.ToArray());
                }
            }
        }
示例#2
0
        private void openByteArrayToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var fldrDlg = new OpenFileDialog())
            {
                if (fldrDlg.ShowDialog() == DialogResult.OK)
                {
                    byte[] array        = File.ReadAllBytes(fldrDlg.FileName);
                    string code         = "";
                    string current_code = "";
                    for (int i = 0; i < array.Length; i++)
                    {
                        BitArray bitArray = new BitArray(new[] { array[i] });
                        for (int j = 7; j > -1; j--)
                        {
                            if (bitArray[j] == true)
                            {
                                code += "1";
                            }
                            else
                            {
                                code += "0";
                            }
                        }
                    }

                    for (int i = 0; i < code.Length; i++)
                    {
                        foreach (Symbol s in symbols)
                        {
                            if (current_code.Equals(s.code))
                            {
                                Console.Write(current_code + " ");
                                text        += s.symbol;
                                current_code = "";
                                break;
                            }
                        }
                        current_code += code[i];
                    }

                    FileInfo info = new FileInfo(fldrDlg.FileName);
                    fileWeight.Text = "Вес файла: " + info.Length + " байт";
                    //byte_array = File.ReadAllBytes(fldrDlg.FileName);
                    comboBox1.Enabled = false;

                    ReadForm r = new ReadForm();
                    r.textBox1.Text = text;
                    r.Show();
                }
            }
        }