gpt4 book ai didi

c# - 解压 Zlib 数据

转载 作者:行者123 更新时间:2023-11-30 04:05:40 25 4
gpt4 key购买 nike

我目前正在尝试从 Zlib 压缩的 .mat 文件中解压一些字节。我阅读了第 3 段,第 1-12 页 MAT-File Format , 它告诉我们 .mat 文件中的字节是由 Zlib 压缩的。

所以,我的问题是,C# 是否有一些可以解压缩字节的 API 或库。如果我有一组字节,比如

6236 20e6 0062 1606 0860 85f2 1981 980b
4cb3 30e4 25e6 a60a 40f9 2545 9989 39f1

然后我将它们加载到一个 SByte 数组中,我该如何解压它们?

我也在网上查了一些图书馆。看起来他们能做的是解压整个文件,而不是一些字节....

我对这方面很陌生。感谢您的帮助。

最佳答案

您可以使用来自 SharpZipLibInflaterInputStream . .mat 文件的 header 长度为 0x88,因此您必须跳过它。我从这里拿了示例文件 SampleMatlabMatDataFiles.zip .

byte[] data = File.ReadAllBytes("c.mat").Skip(0x88).ToArray();
byte[] decompressedData = new byte[10000];
int decompressedLength = 0;
using (MemoryStream memory = new MemoryStream(data))
using (InflaterInputStream inflater = new InflaterInputStream(memory))
decompressedLength = inflater.Read(decompressedData, 0, decompressedData.Length);

关于c# - 解压 Zlib 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23198428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com