Как получить из двоичного числа символ в ASCII? - C#

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

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

Здравствуйте. Имеется строка, заполненная нулями и единицами (т.е. двоичное представление), в которой каждые 7 последовательных значений (начиная с первого) соответствуют одному десятичному числу. Задача заключается в том, что нужно из этой строки получить ASCII символы. Я пробовал реализовать это следующим образом:
int[] integer = new int[dl];// dl определяет количество десятичных чисел, которые мы должны получить из нулей и единиц в строке
            string[] str11 = new string[7];
            int skr = 0;
for (i=0; i<dl; i++)
            {
                for (j=skr; j<skr+7; j++)
                {
                    str11[j] = vivod[j];//vivod[] - строка из нулей и единиц
 
                }
               
                integer[i] = Convert.ToInt32(str11, 2);
                skr += 7;
            }
Также пытался поступить так:
string strrr = vivod.Substring(0, 7);
Во всех случаях мои попытки были безуспешны. Возможно, имеются другие, более легкие способы проведения этих преобразований?

Решение задачи: «Как получить из двоичного числа символ в ASCII?»

textual
Листинг программы
var binary = "1001001010000011101111100001110111011011101100001010000011010001101111110110011001000100000010011111001011101101010000011011001101001110101111001010100000111010011010001100101111100101000001100100110111101000001101001110111001000001010100110010111110001100001111001101011000100000111000011011001100101110000111100111100101000101010001101101111110110011001000100000010011111001011101101010110001000001101100110010111101000100000010011111001011101101010110001000001101000110100111101000100000110110111001010101100010000011100101100001110100111100111100101010000011010011110100010110001000001100010110000111000101111001010110001000001110011111010011000011111001010000011101111101001111010011010000100000110110111001010100000010100010010010100000110110011011111110110110010101000001101001111010001010010001010100110011011111110110110010101000001100111110000111011011100101010000011010011101110111010011101011101001111010011010011101111110111001000001110000110110011000011111001010000011101001101000110010101000001100011110000111100101100100111001101000001110111110100111101001101000010000010100111110000110000111001001100101111001101000001110100110111101000001110011111010011000011110010111010000010101000001110111011001000100000110000111001101110100110010111100100100000110100011001010100111111001101000001100010110010111001011101110010000011010001101111110111111010111100101110010001000001001001010011111011001101100010000011100001101100110000111110010100000111010011010001100101010000011011111101110110010101000001110100110100011000011110100010011111100110100000110111111011100100000110100011010011110011010000011010001100101110000111100101110100";
 
var q = from index in Enumerable.Range(0, binary.Length)
        group binary[index] by index / 7 into g
        select (char)Convert.ToInt32(string.Join("", g), 2);
 
var text = new string(q.ToArray());

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


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

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

13   голосов , оценка 4.154 из 5
Похожие ответы