微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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