Побайтное чтение строки и запись в файл - C#

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

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

Есть файл единиц и нулей, я его записываю в строку E="10010.....". Нужно перевести ее в биты(массив видимо), по значениям, то есть первые 8 зн. - 1 бит, след. 8 знач- следующий бит и т.д. Записать в файл эти биты, причем в виде символов. В общем должен получиться сжатый двоичный файл. И потом нужно как-то обратно побайтно пройтись по каждому символу двоичного файла, то есть раскодировать обратно в строку из которой он собран. Как это можно сделать?

Решение задачи: «Побайтное чтение строки и запись в файл»

textual
Листинг программы
string E = "10010001"; // Длина строки должна быть кратна 8
using (var fstream = File.Create("1.bin"))
{
    for (int i=0; i<E.Length; i+=8)
    {
        byte b = 0, bit = 0x80;
        for (int j=0; j<8; bit>>=1, j++)
        {
            if (E[i+j] == '1') b |= bit;
        }
        fstream.WriteByte(b);
    }
}

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


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

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

15   голосов , оценка 3.867 из 5