在数组中保存二进制文件

时间:2012-03-27 07:06:10

标签: windows

我正在做一个程序,我必须将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 个答案:

答案 0 :(得分: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;

或您选择的任何其他循环