У меня есть строка бит, как это string str = "0111001101101000"
Это буквы «sh».
Мне нужно сделать буквы Unicode из этого. Я делаю следующее:Строка бит в Юникод
BitArray bn = new BitArray(str.Length); //creating new bitarray
for (int kat = 0; kat < str.Length; kat++)
{
if (str[kat].ToString() == "0")//adding boolean values into array
{
bn[kat] = false;
}
else
bn[kat] = true;
}
byte[] bytes = new byte[bn.Length];//converting to bytes
bn.CopyTo(bytes, 0);
string output = Encoding.Unicode.GetString(bytes); //encoding
textBox2.Text = output; // result in textbox
Но выходной текст просто полный беспорядок. Как это сделать правильно?
Какой ожидаемый результат? –
Как я уже сказал, «Это буквы« sh ».« Итак, я ожидал буквы «sh». И я получаю вопросительные знаки, иероглифы и т. Д. – Errorfreak
Какая кодировка вы используете? UTF8 из «sh» дает мне «1100111000010110», код здесь, http://ideone.com/UdvG6r – Jodrell