Как перевести 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;
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д