2012-03-27 67 views
0

我在做一个程序,我有一个ASCII代码转换成二进制文件,然后将其传递到一个数组中,喜欢保存二进制数组内

int[] c = { 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1 }; 

现在我已经写程序ASCII转换成二进制

使用下面的代码

private void button1_Click(object sender, EventArgs e) { 
    string str1; 

    str1 = textBox1.Text.ToString(); 
    ASCIIEncoding ascii = new ASCIIEncoding(); 
    byte[] bytes = ascii.GetBytes(str1); 
    string result =""; 
    foreach (byte b in bytes) 
     result += Convert.ToString(b, 2); 
    //MessageBox.Show(result); 
    string str2; 
    str2 = result.ToString(); 
    textBox2.Text = str2; 


} 

现在假设我给出了值“A”它被转化为1100001,我想将其转换成值1,1,0,0,0,0,1,并将其传递到上述int[] c;

有没有其他方法可以做到这一点?

回答

1

看一看类BitArray,也许它适合你的需求

BitArray bits = new BitArray(ascii.GetBytes(str1)); 

的BitArray已经代表布尔值的数组。

要将其转换为整数数组,如果这是真的需要一个使用后,可以循环尽管它:

int[] intArray = new int[bits.Length]; 
for(int i = 0; i<bits.Length; i++) 
    intArray[i] = bits[i] ? 1 : 0; 

或您选择的任何其他环

+0

我使用BitArray作为由你推荐。 – 2012-03-27 07:41:16

+0

你能否提供更清晰的使用方法?我得到错误作为无效的cating错误 – 2012-03-27 07:51:54