如何在C#中将少于8个字节转换为ulong?

时间:2014-12-13 12:26:11

标签: c# byte bitconverter ulong

所以我现在正在实施加密算法。 我需要将数据转换为字节,然后将其拆分为64位。我是通过使用BitConverter来实现的 但有时我不会在消息的末尾有8个字节,我想知道如何将少于8个字节转换为ulong。

有没有办法使用BitConverter?我尝试移动字节,但它太复杂了,因为我不知道确切的字节数。

1 个答案:

答案 0 :(得分:2)

使用 0s 填充字节数组,直到它符合所需的大小。

byte[] bytes = new byte[255]{ 0x1F, 0x1A, 0x1B, 0x2C, 0x3C, 0x6D, 0x1E }; //7 bytes

while(bytes.length < 8){
   bytes.Concat(new byte[] { 0x00 });
}

long res = BitConverter.ToUInt64(bytes, 0);

参考: