Как перевести ASCII код символа в двоичный вид? - C#
Формулировка задачи:
У меня из файла считывается какой-то текст .И нужно чтобы код ASCII символы посимвольно в двоичной форме забился в массив. Я понимаю как считать текст в ASCII коде. Я не понимаю как перевести этот код в двоичный и занести это в массив.Помогите пожалуйста разобраться новичку.
Решение задачи: «Как перевести ASCII код символа в двоичный вид?»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); FileInfo file = new FileInfo("vbbook.txt"); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click_1(object sender, EventArgs e) { StreamReader streamReader = new StreamReader("vbbook.txt"); string str = ""; while (!streamReader.EndOfStream) { str += streamReader.ReadLine() + Environment.NewLine; } textBox1.Text = str; streamReader.Close(); } private void button2_Click(object sender, EventArgs e) { string text = File.ReadAllText("vbbook.txt"); byte[] key = Encoding.ASCII.GetBytes(text); byte[] binary = new byte[key.Length * 8]; for (int i = 0; i < binary.Length; i++) binary[i] = (byte)(key[i / 8] >> 7 - (i % 8) & 1); StreamWriter write_text; FileInfo file = new FileInfo("vbbook.txt"); write_text = file.AppendText(); write_text.WriteLine(key); write_text.Close(); int[,] ArrEncrypt = new int[8, 8]; //stroka 1 ArrEncrypt[0, 0] = 1; ArrEncrypt[0, 1] = 0; ArrEncrypt[0, 2] = 0; ArrEncrypt[0, 3] = 0; ArrEncrypt[0, 4] = 1; ArrEncrypt[0, 5] = 0; ArrEncrypt[0, 6] = 0; ArrEncrypt[0, 7] = 0; //строка 2 ArrEncrypt[1, 0] = 0; ArrEncrypt[1, 1] = 1; ArrEncrypt[1, 2] = 1; ArrEncrypt[1, 3] = 0; ArrEncrypt[1, 4] = 0; ArrEncrypt[1, 5] = 0; ArrEncrypt[1, 6] = 1; ArrEncrypt[1, 7] = 0; //stroka 3 ArrEncrypt[2, 0] = 0; ArrEncrypt[2, 1] = 1; ArrEncrypt[2, 2] = 1; ArrEncrypt[2, 3] = 1; ArrEncrypt[2, 4] = 0; ArrEncrypt[2, 5] = 1; ArrEncrypt[2, 6] = 1; ArrEncrypt[2, 7] = 1; //stroka 4 ArrEncrypt[3, 0] = 1; ArrEncrypt[3, 1] = 0; ArrEncrypt[3, 2] = 1; ArrEncrypt[3, 3] = 1; ArrEncrypt[3, 4] = 1; ArrEncrypt[3, 5] = 1; ArrEncrypt[3, 6] = 0; ArrEncrypt[3, 7] = 1; //stroka 5 ArrEncrypt[4, 0] = 0; ArrEncrypt[4, 1] = 0; ArrEncrypt[4, 2] = 0; ArrEncrypt[4, 3] = 1; ArrEncrypt[4, 4] = 0; ArrEncrypt[4, 5] = 1; ArrEncrypt[4, 6] = 1; ArrEncrypt[4, 7] = 0; //sтroka 6 ArrEncrypt[5, 0] = 1; ArrEncrypt[5, 1] = 1; ArrEncrypt[5, 2] = 0; ArrEncrypt[5, 3] = 1; ArrEncrypt[5, 4] = 0; ArrEncrypt[5, 5] = 0; ArrEncrypt[5, 6] = 1; ArrEncrypt[5, 7] = 0; //stroka 7 ArrEncrypt[6, 0] = 0; ArrEncrypt[6, 1] = 0; ArrEncrypt[6, 2] = 0; ArrEncrypt[6, 3] = 1; ArrEncrypt[6, 4] = 1; ArrEncrypt[6, 5] = 0; ArrEncrypt[6, 6] = 1; ArrEncrypt[6, 7] = 0; //sтroka 8 ArrEncrypt[7, 0] = 0; ArrEncrypt[7, 1] = 1; ArrEncrypt[7, 2] = 1; ArrEncrypt[7, 3] = 0; ArrEncrypt[7, 4] = 1; ArrEncrypt[7, 5] = 0; ArrEncrypt[7, 6] = 0; ArrEncrypt[7, 7] = 1; int[] mass = new int[binary.Length]; for (int i = 0; i < 8; i++) for(int j=0; j<8;j++) { mass[i] = (ArrEncrypt[0,i] * binary[j] + ArrEncrypt[1,i] * binary[j] + ArrEncrypt[2,i] * binary[j] + ArrEncrypt[3,i] * binary[j] + ArrEncrypt[4,i] * binary[j] + ArrEncrypt[5,i] * binary[j] + ArrEncrypt[6,i] * binary[j] + ArrEncrypt[7,i] * binary[j]); if (mass[i] % 2 != 0) { mass[i]= 1;} else { mass[i]=0; }; textBox2.Text += mass[i]; } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { FileInfo file = new FileInfo("vbbook.txt"); if (file.Exists == true) { file.Delete(); } else MessageBox.Show("Файла не существует!!"); } private void button4_Click_1(object sender, EventArgs e) { Stream myStream; OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "Text(*.txt)|*.txt"; if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if ((myStream = openFile.OpenFile()) != null) { string strfilename = openFile.FileName; string filetext = File.ReadAllText(strfilename); textBox1.Text = filetext; } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д