我正在做一个程序,我必须将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;
。
还有其他办法吗?
答案 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;
或您选择的任何其他循环