BitArray 到 byte[] 转换后的字节顺序

问题描述

我试图找出从 BitArray 转换为 byte[] 后的字节顺序。

首先,这里是 BitArray 内容

BitArray encoded = huffmanTree.Encode(input);
foreach (bool bit in encoded)
            {
                Console.Write((bit ? 1 : 0));
            }
            Console.WriteLine();

输出

Encoded: 000001010110101011111111

好的,如果我们手动将这些二进制转换为十六进制,我们将得到:05 6A FF 但是,当我在 C# 中使用转换时,我得到的是:

BitArray encoded = huffmanTree.Encode(input);

byte[] bytes = new byte[encoded.Length / 8 + (encoded.Length % 8 == 0 ? 0 : 1)];
encoded.copyTo(bytes,0);
string StringByte = BitConverter.ToString(bytes);
Console.WriteLine(StringByte); // just to check the Hex

输出

A0-56-FF

尽管如此,正如我所提到的,它应该是 05 6A FF。请帮助我理解为什么会这样。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)