我如何从c#中的字符串中获取位?

如果我有以下字符串“Blue Box”,我怎么能得到构成c#中字符串的位以及我将它存储在哪个数据类型中。

如果我只做字母“o”,我得到111作为字节,111作为位。 是斩掉0,如果我做“oo”,我在字节数组中每个o得到111,但对于这些位,我得到的值为28527.为什么?

如果你想要字符串格式的位,你可以使用这个函数:

public string GetBits(string input) { StringBuilder sb = new StringBuilder(); foreach (byte b in Encoding.Unicode.GetBytes(input)) { sb.Append(Convert.ToString(b, 2)); } return sb.ToString(); } 

如果您使用“Blue Box”示例,则会得到:

 string bitString = GetBits("Blue Box"); // bitString == "100001001101100011101010110010101000000100001001101111011110000" 

您可以执行以下操作:

 byte[] bytes = System.Text.UTF8Encoding.Default.GetBytes("Blue Box"); BitArray bits = new System.Collections.BitArray(bytes); 

这取决于你所说的“位”。 你在谈论ASCII表示吗? UTF8? UTF-16? System.Text.Encoding命名空间应该可以帮助您入门。