C#,使用 zlib 解压缩流

2024-04-03

我正在尝试解压缩字节数组。

byte[] bloc = { 120, 156, 211, 97, 144, 76, 247, 142, 98, 228, 98, 0, 2, 70, 101, 6, 166, 8, 16, 131, 133, 131, 145, 129, 209, 134, 129, 133, 1, 44, 12, 4, 202, 118, 12, 0, 70, 22, 2, 148 };

正如您所看到的,标头是 120 165(十六进制为 78 9c),这是 zlib 默认压缩算法。 我使用了 zlib 站点上的 ComponentAce.Compression.ZipForge。 我找不到有关如何解压缩流(而不是文件)的示例。


Use SharpZipLib https://icsharpcode.github.io/SharpZipLib/。它包含 zlib 的完整接口,并且可以解压缩 zlib 流以及其他压缩数据格式,例如 gzip、zip、bzip2 和 raw deflate。

您应该避免使用 Microsoft 提供的 .NET 组件,因为它们存在缺陷(特别是无法正确检测无效输入),并且 Microsoft 已声明它们不会修复它 https://stackoverflow.com/a/9460354/1180620.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#,使用 zlib 解压缩流 的相关文章

  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • 是否有一个库可以根据元数据声明生成 UI,如下所示>>?

    你知道有一个库允许我们通过声明应该生成 UI 来生成它吗 我认为一定有人实现了一种机制 允许我们像这样转换代码 class Main Command int add int a int b return a b 比如说 一个带有 2 个文本
  • 如何从类库项目加载视图?

    我尝试创建一个VirtualPathProvider并将视图设置为嵌入资源 class AssemblyResourceVirtualFile VirtualFile string path public AssemblyResourceV
  • 我可以在 IIS 中配置 SMTP,以便它中继到远程 SMTP 服务器吗?

    我想在我的 Web 服务器上配置 SMTP 以便通过 SMTP 服务器发送的任何电子邮件都会中继到远程 SMTP 服务器 IIS SMTP 服务器必须使用 SMTP 身份验证 并使用主机名 用户名和密码 就像配置普通电子邮件客户端一样 有人
  • 正则表达式匹配具有不同数字和最小长度的数字

    我正在尝试编写一个正则表达式 以验证 c NET Core 模型上的属性 该模型生成 javascript 表达式 来匹配由至少两个不同数字和最小长度为 6 位数字组成的所有数字 例如 222222 无效 122222 有效 1111125
  • WPF ValidationRule 加载控件时验证

    我有一个带有此验证的控件
  • 使用环境变量识别 Cygwin、Linux、Windows

    当 makefile 需要在不同的操作系统上运行并且应根据操作系统正确设置各种设置 转义 路径分隔符等 时 就会出现问题 第一种方法是使用 Windows COMSPEC ifneq COMSPEC ComSpec in windows e
  • 在 WHERE 语句中使用子查询的别名

    我正在尝试在 WHERE 语句中使用在 SELECT 中创建的别名 它不起作用 我在另一个问题中读到了原因 如何在不重复子查询的情况下完成这项工作 SELECT p PatientID p PatientType p AccountNumb
  • 使用 axios 的 API 请求始终未经 Laravel API 的授权

    我正在使用一个个人项目Laravel https laravel com 5 6 和Axios https github com axios axios库 标准 Laravel5 6 https laravel com docs 5 6包裹
  • iOS 电影播放器​​可以在多大程度上进行定制和设计?

    我正在尝试完成类似于下图的事情 也就是说 我想添加一个滑出式覆盖导航栏和其他覆盖功能 一般来说 我也想知道电影播放器 可以进行什么样的定制 具体来说 我可以从顶部栏中添加 删除按钮吗 如何将这些点添加到播放栏 谢谢 http blog ho
  • MVC如何返回带参数的视图

    目前我有一个有效的方法 当单击此处的 Razor 中的代码链接时 它正在工作 Html ActionLink New User Register Register new OpenID Model OpenID 我希望具有相同的效果 但从控
  • 如何通过 PHP 更改 Joomla 管理员 URL - 无插件

    由于我是 Joomla 的新手 我想知道是否有办法通过以下方式更改管理员 URL使用PHP而不是使用插件或扩展 据我所知 使用第三方组件是有风险的 我真的不想在我的网站中使用第三方扩展 我怎样才能完成它 默认情况下 Joomla 管理员 U
  • 批处理文件中的 IF ELSE 语法错误?

    我是批处理文件写入的新手 我正在编写一个脚本 该脚本随机打开三个网页之一并在延迟后循环 当我运行它时 我经常遇到语法错误 但我无法确定它在哪里 main echo on set location set A num random 10 if
  • powershell - 列出本地用户及其组

    我想要一份包含所有本地用户及其相关组 用户 高级用户 管理员等 的报告 我通过这种方式获取用户 adsi ADSI WinNT adsi psbase children where psbase schemaClassName match
  • CSS 剪辑动画

    我正在尝试使用 CSS3 过渡来制作 CSS 动画clip没有成功 图像只是剪辑而没有过渡 我缺少什么 clipped position absolute width auto clip rect 100 100 100 100 webki
  • Facebook Connect 发布对话框文本?

    您好 我已经让 Facebook Connect 与功能性登录和注销按钮一起使用 另外 当我按下按钮时 我想发布到 Facebook 我可以做到这一点 有点 你看 我有一个用户事先自定义的指定字符串 它叫做 statusUpdates 我不
  • 如何让现有分支跟踪远程分支?

    我正在尝试使用以下命令跟踪现有分支到远程分支 track or set upstream to 但出现以下错误 git branch track master origin master fatal A branch named maste
  • qml 无框窗户的阴影

    我有无框主窗口 由 qml 创建 ApplicationWindow 在我的 main qml 文件中 我通过以下方式实例化 qmlQQmlApplicationEngine load Qt5 1中引入的类 如果我设置Qt Frameles
  • 深度优先搜索 (DFS) 与广度优先搜索 (BFS) 伪代码和复杂性

    我必须为计算连接数量的算法开发伪代码 给定顶点 V 和边 E 图中的分量 G V E 我知道我可以使用深度优先搜索或广度优先搜索来计算连接组件的数量 但是 我想使用最有效的算法来解决这个问题 但我不确定每个算法的复杂度 下面是用伪代码形式编
  • Xcode 8 Shell 脚本调用错误

    I m trying to fix this issue for hours but it still persists Tried everything on the forums nothing helped I m using Coc
  • C#,使用 zlib 解压缩流

    我正在尝试解压缩字节数组 byte bloc 120 156 211 97 144 76 247 142 98 228 98 0 2 70 101 6 166 8 16 131 133 131 145 129 209 134 129 133