VB6之借助zlib实现gzip解压缩
这是个简版的,可以拿来做下网页gzip的解压缩,整好我的webserver还不支持这个,有时间了就加上。
模块zlib.bas的代码如下:
'code by lichmam from cnblogs.com
'whatfor: could be used for http-gziped compress&uncompress
'API declares from zlib.dll
Private Declare Function compress2 Lib "zlib.dll" (dest As Any, _
destLen As Any, _
src As Any, _
ByVal srcLen As Long, _
ByVal level As Long) As Long
Private Declare Function uncompress Lib "zlib.dll" (dest As Any, _
destLen As Any, _
src As Any, _
ByVal srcLen As Long) As Long Public Function Compress(ByRef bytCompressed() As Byte, _
ByRef bytUnCompressed() As Byte, _
Optional CompressionLevel = &) As Long
'0<=CompressionLevel<=9, and default value is 6.
'with the number of CompressionLevel increased,
' the quality, speed of compression would be better and slower.
'however, i'd suggest that JUST TAKE THE DEFAULT VALUE OF COMPRESSION_LEVEL.
Dim srcLen As Long
Dim destLen As Long srcLen = UBound(bytUnCompressed) +
destLen = srcLen * ( + 0.01) +
ReDim bytCompressed(destLen) As Byte
Call compress2(bytCompressed(), destLen, bytUnCompressed(), srcLen, CompressionLevel)
Compress = destLen
End Function Public Function DeCompress(ByRef bytUnCompressed() As Byte, _
ByRef bytCompressed() As Byte) As Long Dim srcLen As Long
Dim destLen As Long srcLen = UBound(bytCompressed) +
destLen = srcLen
ReDim bytUnCompressed(destLen) As Byte
Call uncompress(bytUnCompressed(), destLen, bytCompressed(), srcLen)
DeCompress = destLen
End Function
VB6之借助zlib实现gzip解压缩的更多相关文章
- Windows API方式直接调用C#的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C++、VB、Delphi甚至java都可以)
原始链接 https://www.cnblogs.com/Charltsing/p/DllExport.html 这两年,我在VBA应用方面一直有几大痛点:1.多音字转拼音:2.64位下的GZIP解压 ...
- c语言使用zlib实现文本字符的gzip压缩与gzip解压缩
网络上找到的好多方法在解压缩字符串的时候会丢失字符,这里是解决方法: http://stackoverflow.com/questions/21186535/compressing-decompres ...
- 使用zlib实现gzip格式数据的压缩和解压
注意代码中的注释部分,这里设置是专门针对gzip的,缺少了就不行了,gzip压缩格式和其他格式的区别就在这里. Bytef 就是 unsigned char,uLong就是 unsigned long ...
- c# gzip解压缩
, bytes.Length)) > ) { line = System.Text.Encoding.Defaul ...
- C#用Zlib压缩或解压缩字节数组
/// <summary> /// 复制流 /// </summary> /// <param name="input">原始流</par ...
- qt 调用zlib压缩与解压缩功能
Zlib是一种免费且通用的压缩库,由于Zlib压缩效果比LZW好,而且解压缩速度快,更重要的是商业软件中使用Zlib不需要缴纳版权费,所以很多游戏都使用Zlib压缩资源文件. Zlib是由Jean-l ...
- golang zlib 压缩,解压缩
package main import ( "bytes" "compress/zlib" "fmt" "io" &qu ...
- http gzip 解压缩
var sContentEncoding = httpRespone.Headers["Content-Encoding"]; if(sContentEncoding == &qu ...
- AXIS2调用web service,返回结果用GZIP解压缩
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
随机推荐
- servlet多线程
一,servlet容器如何同时处理多个请求. Servlet采用多线程来处理多个请求同时访问,Servelet容器维护了一个线程池来服务请求.线程池实际上是等待执行代码的一组线程叫做工作者线程(Wor ...
- ArrayList源码解析(四)
这篇文章主要看ArrayList的Iterator和ListIterator的实现. 1.Iterator和类Itr 当我们调用iterator方法时返回一个Iterator. /** * Retur ...
- 一个可以控制提示框显示为top,bottom,left,right的小方法
html代码 <!doctype html><html><head><meta charset="utf-8"><title& ...
- Win95+IE3 – Win10+IE11全版本执行漏洞(含POC)
微软本月安全更新修复了一个潜藏了18年的IE远程代码执行漏洞(CVE-2014-6332),可以说是给windows吃了一颗大补丸.缺陷出现在VBScript的代码中,自Windows 95首次发布( ...
- JavaFx TableView疑难详解
TableView是个十分有用的控件,适应性和灵活性非常强,可以对它进行任意的修改,比如界面样式.功能.本文将从一步步提问的方式讲解TableView 创建已知列的TableView 已知列的表格的创 ...
- a标签实现文件下载
如果想通过纯前端技术实现文件下载,直接把a标签的href属性设置为文件路径即可,如下: <a href="https://cdn.shopify.com/s/files/1/1545/ ...
- SqlDataReader 之指定转换无效
//获取最新显示顺序数据 string str = string.Format(@"if exists(select ShowOrder from GIS_FuncDefaultLayer ...
- Asp.Net Core-----简介与安装
Asp.Net Core简介 ASP.NET Core 是一个全新的开源.跨平台框架,可以用它来构建基于网络连接的现代云应用程序,比如:Web 应用,IoT(Internet Of Things,物联 ...
- 微软SQL Server认证最新信息(17年5月22日更新),感兴趣的进来看看哟
之前一直有在关注微软认证的一些消息,由于最新的SQL Server认证加入了2016的相关内容,导致课程资料需要大部分更新,但是微软更新相对比较慢,并且经常改版,目前发现的最新的MCP Cert Pa ...
- linux系统中的删除操作
#rm [-fir] 文件或者目录 参数: -f:就是force的意思,忽略不存在的文件,不会出现警告信息: -i:互动模式,在删除前会询问用户是否操作: -r:递归删除.最常用的在目录删除.这是一个 ...