C# - 将零和一的字符串转换为字节数组或类似的

C# - Convert string of zeros and ones to a byte array or similar

我从客户端 API 请求中得到一串零和一。它们具有固定长度(在本例中为 28),我想将它们转换为 byte[] 或类似的东西,目的是通过 EF Core 将它们存储在 SQL 中,然后使用按位运算符比较它们。

我似乎无法理解这个问题。我看到很多 posts/questions 关于将字符转换为字节数组,或将字节数组转换为字符串,这两者都不是我需要的。

我需要一个 "00111000010101010" 来变成文字二进制 00111000010101010 我可以在 ^ 上使用

如有必要,前导零就可以了,我认为长度可能会被强制为 8 的倍数?

你可以用这个轻松地将二进制字符串转换为整数:

string source = "00111000010101010";
int number = Convert.ToInt32(source, 2); // The `2` is "base 2"

这给出:28842.

如果需要,您可以更进一步转换为字节数组。

byte[] bytes = BitConverter.GetBytes(number);