Как перевести 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;
                }
            }
        }  
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5