在c#中将Uint64转换为5个字节,反之亦然

时间:2013-04-02 18:56:24

标签: c# type-conversion byte uint64

我有一个应用程序需要5个字节派生一个数字。现在我使用的是Uint32,它是4个字节。我被告知要创建一个使用字节和Uint32的类。但是,我不知道如何将它们组合起来,因为它们是数字。

我认为最好的方法可能是使用Uint64并将其转换为5个字节。但是,我不确定如何做到这一点。我需要能够将它转换为5个字节,并在类中使用单独的函数将其转换回Uint64。

有没有人对最佳方法有任何想法?

谢谢

1 个答案:

答案 0 :(得分:4)

使用BitConverter.GetBytes,然后删除不需要的三个字节。

要将其转换回来,请使用BitConverter.ToUInt64,记住您必须先用三个额外(零)字节填充字节数组。

请注意字节顺序。如果要发送这些字节的应用程序需要相反的字节顺序,则可能需要反转数组。此外,endianess将决定是否需要从数组的开头或结尾添加/删除字节。 (查看BitConverter.IsLittleEndian