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