c# - Python在C#中的unpack函数

标签 c# python arrays string unpack

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

struct.unpack('!hh', data[2:6])

在 C# 中有这样做的方法吗?

最佳答案

我认为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();
    }
}

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

关于c# - Python在C#中的unpack函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706554/

相关文章:

c# - 转换到基类是否涉及装箱和拆箱

c# - ASP.net 回发 - 滚动到特定位置

c++ - 在 C++ 中访问数组内存会抛出错误

c# - 工作集 PerformanceCounter 的负载测试未显示超过 4GB

python - Python 中 Perl 模块 List::Util、List::MoreUtils 功能的类似物

Python 字典理解从对象求和

python - 在 django 管理面板中选择图像时,Filebrowser 不会在文件路径中附加斜杠

arrays - 在perl中改组二维数组

arrays - 如何将VBA一维数组输出从水平更改为垂直?

c# - Entity Framework 上的 ORA-03111 错误