将Python数组/字节移位/结构体转换为c#

本文关键字:转换 结构体 Python 数组 字节 | 更新日期: 2023-09-27 18:09:52

我正在努力将一个明显容易的代码从Python转换为c#,如下所示:

def computeIV(self, lba):
      iv = ""
      lba &= 0xffffffff
      for _ in xrange(4):
          if (lba & 1):
              lba = 0x80000061 ^ (lba >> 1)
          else:
              lba = lba >> 1
          iv += struct.pack("<L", lba)
      return iv

我习惯c#逻辑,我真的不能理解数组bitmask…

将Python数组/字节移位/结构体转换为c#

你可以在c#中使用BitArray Class,它管理一个紧凑的位值数组,这些位值表示为布尔值,其中true表示位在(1)上,false表示位在(0)上。

提供AND、OR、NOT、SET和XOR函数。

对于Shift操作,可以在这里找到一个可能的解决方案: