Как перевести ASCII код символа в двоичный вид? - C#

Узнай цену своей работы

Формулировка задачи:

У меня из файла считывается какой-то текст .И нужно чтобы код ASCII символы посимвольно в двоичной форме забился в массив. Я понимаю как считать текст в ASCII коде. Я не понимаю как перевести этот код в двоичный и занести это в массив.Помогите пожалуйста разобраться новичку.

Решение задачи: «Как перевести ASCII код символа в двоичный вид?»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO;
  11.  
  12. namespace WindowsFormsApplication1
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         public Form1()
  17.         {
  18.             InitializeComponent();
  19.             FileInfo file = new FileInfo("vbbook.txt");
  20.         }
  21.  
  22.         private void Form1_Load(object sender, EventArgs e)
  23.         {
  24.  
  25.         }
  26.  
  27.         private void button1_Click_1(object sender, EventArgs e)
  28.         {
  29.             StreamReader streamReader = new StreamReader("vbbook.txt");
  30.             string str = "";
  31.             while (!streamReader.EndOfStream)
  32.             {
  33.                 str += streamReader.ReadLine() + Environment.NewLine;
  34.             }
  35.             textBox1.Text = str;
  36.             streamReader.Close();
  37.         }
  38.        
  39.         private void button2_Click(object sender, EventArgs e)
  40.         {
  41.             string text = File.ReadAllText("vbbook.txt");
  42.             byte[] key = Encoding.ASCII.GetBytes(text);
  43.  
  44.             byte[] binary = new byte[key.Length * 8];
  45.             for (int i = 0; i < binary.Length; i++)
  46.                 binary[i] = (byte)(key[i / 8] >> 7 - (i % 8) & 1);
  47.             StreamWriter write_text;
  48.             FileInfo file = new FileInfo("vbbook.txt");
  49.             write_text = file.AppendText();
  50.             write_text.WriteLine(key);
  51.             write_text.Close();
  52.            
  53.            
  54.      
  55.             int[,] ArrEncrypt = new int[8, 8];
  56.             //stroka 1
  57.             ArrEncrypt[0, 0] = 1;
  58.             ArrEncrypt[0, 1] = 0;
  59.             ArrEncrypt[0, 2] = 0;
  60.             ArrEncrypt[0, 3] = 0;
  61.             ArrEncrypt[0, 4] = 1;
  62.             ArrEncrypt[0, 5] = 0;
  63.             ArrEncrypt[0, 6] = 0;
  64.             ArrEncrypt[0, 7] = 0;
  65.             //строка 2
  66.             ArrEncrypt[1, 0] = 0;
  67.             ArrEncrypt[1, 1] = 1;
  68.             ArrEncrypt[1, 2] = 1;
  69.             ArrEncrypt[1, 3] = 0;
  70.             ArrEncrypt[1, 4] = 0;
  71.             ArrEncrypt[1, 5] = 0;
  72.             ArrEncrypt[1, 6] = 1;
  73.             ArrEncrypt[1, 7] = 0;
  74.             //stroka 3
  75.             ArrEncrypt[2, 0] = 0;
  76.             ArrEncrypt[2, 1] = 1;
  77.             ArrEncrypt[2, 2] = 1;
  78.             ArrEncrypt[2, 3] = 1;
  79.             ArrEncrypt[2, 4] = 0;
  80.             ArrEncrypt[2, 5] = 1;
  81.             ArrEncrypt[2, 6] = 1;
  82.             ArrEncrypt[2, 7] = 1;
  83.             //stroka 4
  84.             ArrEncrypt[3, 0] = 1;
  85.             ArrEncrypt[3, 1] = 0;
  86.             ArrEncrypt[3, 2] = 1;
  87.             ArrEncrypt[3, 3] = 1;
  88.             ArrEncrypt[3, 4] = 1;
  89.             ArrEncrypt[3, 5] = 1;
  90.             ArrEncrypt[3, 6] = 0;
  91.             ArrEncrypt[3, 7] = 1;
  92.             //stroka 5
  93.             ArrEncrypt[4, 0] = 0;
  94.             ArrEncrypt[4, 1] = 0;
  95.             ArrEncrypt[4, 2] = 0;
  96.             ArrEncrypt[4, 3] = 1;
  97.             ArrEncrypt[4, 4] = 0;
  98.             ArrEncrypt[4, 5] = 1;
  99.             ArrEncrypt[4, 6] = 1;
  100.             ArrEncrypt[4, 7] = 0;
  101.             //sтroka 6
  102.             ArrEncrypt[5, 0] = 1;
  103.             ArrEncrypt[5, 1] = 1;
  104.             ArrEncrypt[5, 2] = 0;
  105.             ArrEncrypt[5, 3] = 1;
  106.             ArrEncrypt[5, 4] = 0;
  107.             ArrEncrypt[5, 5] = 0;
  108.             ArrEncrypt[5, 6] = 1;
  109.             ArrEncrypt[5, 7] = 0;
  110.             //stroka 7
  111.             ArrEncrypt[6, 0] = 0;
  112.             ArrEncrypt[6, 1] = 0;
  113.             ArrEncrypt[6, 2] = 0;
  114.             ArrEncrypt[6, 3] = 1;
  115.             ArrEncrypt[6, 4] = 1;
  116.             ArrEncrypt[6, 5] = 0;
  117.             ArrEncrypt[6, 6] = 1;
  118.             ArrEncrypt[6, 7] = 0;
  119.             //sтroka 8
  120.             ArrEncrypt[7, 0] = 0;
  121.             ArrEncrypt[7, 1] = 1;
  122.             ArrEncrypt[7, 2] = 1;
  123.             ArrEncrypt[7, 3] = 0;
  124.             ArrEncrypt[7, 4] = 1;
  125.             ArrEncrypt[7, 5] = 0;
  126.             ArrEncrypt[7, 6] = 0;
  127.             ArrEncrypt[7, 7] = 1;
  128.             int[] mass = new int[binary.Length];
  129.             for (int i = 0; i < 8; i++)
  130.                 for(int j=0; j<8;j++)
  131.             {
  132.                 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]);
  133.                     if (mass[i] % 2 != 0) { mass[i]= 1;}
  134.                     else { mass[i]=0; };
  135.                     textBox2.Text += mass[i];
  136.                 }
  137.          
  138.        
  139.            
  140.         }
  141.            
  142.        
  143.  
  144.         private void textBox1_TextChanged(object sender, EventArgs e)
  145.         {
  146.  
  147.         }
  148.  
  149.         private void textBox2_TextChanged(object sender, EventArgs e)
  150.         {
  151.  
  152.         }
  153.  
  154.         private void button3_Click(object sender, EventArgs e)
  155.         {
  156.             FileInfo file = new FileInfo("vbbook.txt");
  157.             if (file.Exists == true)
  158.             {
  159.                 file.Delete();
  160.             }
  161.             else MessageBox.Show("Файла не существует!!");
  162.         }
  163.  
  164.        
  165.  
  166.         private void button4_Click_1(object sender, EventArgs e)
  167.         {
  168.             Stream myStream;
  169.             OpenFileDialog openFile = new OpenFileDialog();
  170.             openFile.Filter = "Text(*.txt)|*.txt";
  171.             if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  172.             {
  173.                 if ((myStream = openFile.OpenFile()) != null)
  174.                 {
  175.                     string strfilename = openFile.FileName;
  176.                     string filetext = File.ReadAllText(strfilename);
  177.                     textBox1.Text = filetext;
  178.                 }
  179.             }
  180.         }  
  181.     }
  182. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут