【发布时间】:2014-06-28 01:16:23
【问题描述】:
我有这个代码:
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] bytes= ascii.GetBytes("ok");
此时,如果我调试并查看 byte 变量中的内容,我会得到:
111 107
这是我所期望的。 "o" 是 111 "k" 是 107
接下来,
BitArray bits = new BitArray(bytes);
此时,如果我调试并查看bits 变量中的内容,我会得到:
1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0
(实际的数组有 'True' where 1 和 'False' where 0 above)。
我想知道为什么会发生这种情况以及为什么位数组没有填充为
0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1
改为。
【问题讨论】:
-
当您查看 byte[] 时,您会看到索引 0、索引 1 等。当您查看 BitArray 时,您会看到位 0、位 1 等。它是 相同的顺序。您只是倾向于看到以相反方式写入的字节中的位。
标签: c#