Python在C#中的解包函数

Gab*_*abe 1 c# python arrays string unpack

我正在寻找一种在C#中获取此过程结果的方法.确切地说,我试图根据给定的格式从二进制字符串中解包数据(该方法应该返回一个数组).有关更多信息,请参阅http://docs.python.org/2/library/struct.html.

struct.unpack('!hh', data[2:6])
Run Code Online (Sandbox Code Playgroud)

有没有办法在C#中这样做?

nmc*_*ean 6

我认为BinaryReader就是你想要的.

像这样的东西是等价的(假设data是一个字节数组):

using (var stream = new MemoryStream(data)) {
    using (var reader = new BinaryReader(stream)) {
        stream.Seek(2, SeekOrigin.Begin);

        var value1 = reader.ReadInt16();
        var value2 = reader.ReadInt16();
    }
}
Run Code Online (Sandbox Code Playgroud)

这应该跳过前2个字节,然后将接下来的4个字节加载到两个short变量中.