我有一个只存储 1 和 0 的字符串..现在我需要将它转换为字节数组。我尝试过..
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] d = encoding.GetBytes(str5[1]);
但是它给了我 ASCII 的字节数组,比如 48 和 49,但我想在我的字节数组中包含 1 和 0 ..任何人都可以帮忙
最佳答案
这是编码的正确结果。编码产生字节,而不是位。如果您需要位,则使用按位运算符来检查每个字节。即
foreach(var byte in d) {
Console.WriteLine(byte & 1);
Console.WriteLine(byte & 2);
Console.WriteLine(byte & 4);
Console.WriteLine(byte & 8);
Console.WriteLine(byte & 16);
Console.WriteLine(byte & 32);
Console.WriteLine(byte & 64);
Console.WriteLine(byte & 128);
}
关于C# 无法将字符串转换为字节数组以达到所需的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531619/