


C# перевод двоичного кода в текст и обратно
Помогите, пожалуйста, каким образом можно перевести текст в бин и обратно?
Я перевожу текст в бин след. образом:
string str = "abc";
string ascstr;
string binresult;
char [] arr = str.ToCharArray(); //
foreach (char i in arr)
{
ascstr+= (int)i ;
binresult+= Convert.ToString(i,2) ;
}
для "abc" получаем результат 110000111000101100011 21 бит ASCII 97 98 99
для "абв" получаем результат 10000110000100001100011000011001021 35 бит ASCII 1072 1073 1075
Как всё это перевести обратно в текст, если в строке будут и кириллица и латиница?
public static void Main (string[] args)
{
String str = "abc";
String ascstr = "";
String binstr2 = "";
char[] arr = str.ToCharArray();
foreach (char i in arr) {
ascstr += (int)i;
String tmp = Convert.ToString (i, 2);
while (tmp.Length < 8) //выравниваем по 8 бит
tmp = '0' + tmp;
binstr2 += tmp;
}
Console.WriteLine (str);
Console.WriteLine (ascstr);
Console.WriteLine (binstr2);
int p=0;
while (p < binstr2.Length){
Char ch = (char)Convert.ToByte(binstr2.Substring(p,8),2);
Console.Write(ch);
p += 8;
}
Console.ReadKey ();
}