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

本文关键字:字节 转换 ulong 小于 | 更新日期: 2023-09-27 18:34:15

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

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

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

0 填充字节数组,直到它适合所需的大小。

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);

参考:

  • 位转换器