如何解决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 举报,一经查实,本站将立刻删除。