web服务交互中HTTP数据内容GZIP,ZLIB格式压缩与解压缩封装(共享)

点击下载独立的dll

//dll内部封装API格式

//gzip
BOOL  fnZlibDecompressPacket
(__IN_PARAM unsigned char* gZlibDataBuffer,
 __IN_PARAM size_t gZLibDataLength,
__OUT_PARAM char* pChDataBuffer,
__OUT_PARAM DWORD *pdwLength);

BOOL  fnZlibCompressPacket
(__IN_PARAM unsigned char* gZlibDataBuffer,
__IN_PARAM size_t gZLibDataLength,
__OUT_PARAM char * pchGzipOutData,
__OUT_PARAM DWORD *pdwLength);

//zlib

BOOL fnGzipDecompressPacket
(__IN_PARAM unsigned char* gzipDataBuffer,
__IN_PARAM size_t gzipDataBuffer_Length,
 __OUT_PARAM char* pChDataBuffer,
__OUT_PARAM DWORD *pdwLength);

BOOL fnGzipCompressPacket
(__IN_PARAM const char * gzipDataBuffer,
__IN_PARAM int gzipDataBuffer_Length,
__OUT_PARAM char * dstDataBuffer,
__OUT_PARAM int *pdwLength);

//GZIP调用核心代码演示

typedef  BOOL   (*UncompressionGzipPacketToBuffer)
(unsigned char* gZipDataBuffer,  size_t gZipDataLength, char * pDataBuffer,DWORD *dwLength);

typedef  BOOL   (*CompressionBufferPacketToGzip)
( unsigned char* chDataBuffer,  size_t chDataLength, char* pGzipBuffer,DWORD *dwLength);

HINSTANCE hInst=NULL;

UncompressionGzipPacketToBuffer UngzipPacket;

CompressionBufferPacketToGzip   ComGzipBuffer;

hInst=LoadLibrary(_T("GzipZlibdll.dll"));

if (hInst==NULL)
{
    return -1;
}
UngzipPacket=(UncompressionGzipPacketToBuffer)GetProcAddress(hInst,"fnGzipDecompressPacket");

ComGzipBuffer=(CompressionBufferPacketToGzip)GetProcAddress(hInst,"fnGzipCompressPacket");   

if (UngzipPacket==NULL)
{
        return -1;
}
if (ComGzipBuffer==NULL)
{
        return -1;

}

BOOL bRet=UngzipPacket((unsigned char*)pChGzipBuff,dwReaded,pChDataBuff,&dwTransferSize);

//注意此处dwGzipSize的必须有值,不能传递0考虑到压缩之后一定比原来数据小。传递dwTransferSize大小就可以

BOOL bReturn=ComGzipBuffer((unsigned char*)pChDataBuff,dwTransferSize,pChGzipBuff,&dwGzipSize);

FreeLibrary(hInst);

//zlib同上演示样例。

时间: 2024-12-24 22:23:21

web服务交互中HTTP数据内容GZIP,ZLIB格式压缩与解压缩封装(共享)的相关文章

微服务开发中的数据架构设计

本文来自作者 陈伟荣 在 GitChat 分享的文章[微服务开发中的数据架构设计] 前言 微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合.业务的灵活调整组合以及系统的高可用性.为业务创新和业务持续提供了一个良好的基础平台.本文分享在这种技术架构下的数据架构的设计思想以及设计要点,本文包括下面若干内容. 微服务技术框架中的多层数据架构设计 数据架构设计中的要点 要点1:数据易用性 要点2:主.副数据及数据解耦 要点3:分库分表

IIS Web服务扩展中没有Asp.net 2.0

服务器上安装了ASP.NET v2.0组件,但是在IIS的Web服务扩展中并没有找到ASP.NET v2.050727这项,这导致基于.NET2.0开发的网页都无法正常浏览. 解决方法:打开IIS,转至Web服务扩展中,点击右侧窗口任务下的“添加一个新的Web服务扩展”,在弹出的窗口中,点击添加,然后找到 x:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll(x为系统安装盘符, 一盘为C),再点击确定按钮保存设置,最后再设置

Android 开发之开发插件使用:Eclipse 插件 SQLiteManger eclipse中查看数据内容--翻译

最近研究了一段时间Android开发后发现,google自带的ADT工具,缺失一些开发常用的东西,希望可以构建一个类似使用JAVA EE开发体系一样开发的工具包集合,包括前台开发,调试,到后台数据库的管理,到此,在网上逛了一遍发现这个一些常用的插件功能很强大,所以我决定做一系列翻译这些插件安装使用的教程,希望大家喜欢. 本文受益于这篇文章,所以决定翻译这篇文章中的一部分东西工具.19 个 Android 开发工具投递人 itwriter 发布于 2014-05-08 09:32 本文翻译:Ecl

PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)

PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更新数据库中的老网址,如果一个一个修改,很不方便,所以开发此源码,供大家学习或使用: //2.源码开发者:杨波: //3.源码开发者联系QQ:773003231: //4.源码开发者博客:http://www.cnblogs.com/phpyangbo/: //5.源码开放性:任何人都可以随意更改或使用本源

把数组中的数据按照指定个格式拼接成一个字符串

/* * 需求:把数组中的数据按照指定个格式拼接成一个字符串 * 举例: *         int[] arr = {1,2,3};     * 输出结果: *        "[1, 2, 3]" * 分析: *         A:定义一个字符串对象,只不过内容为空 *         B:先把字符串拼接一个"[" *         C:遍历int数组,得到每一个元素 *         D:先判断该元素是否为最后一个 *             是:就直接

String-需求:把数组中的数据按照指定的格式拼接成一个字符串

package cn.lianxi; /* * 需求:把数组中的数据按照指定的格式拼接成一个字符串 * 举例: * int [] arr = {1,2,3}; * 输出结果 * “[1, 2, 3]” * 分析: * 1.定义一个字符串对象,只不过内容为空 * 2.把字符串拼接一个“[” * 3.遍历数组,得到每一个元素 * 4.先判断该元素是否为最后一个 * 是:就直接拼接元素和] * 不是:就拼接元素和逗号以及空格 * 5.输出拼接后的字符串 * */ public class zifu {

JSP页面读取数据中的数据内容,出现乱码现象的解决方法

1.首先要确保JSP页面的编码已修改为“utf-8”的字符编码: 2.然后再在jsp页面上添加代码进行设置: 先用getBytes()方法读出数据,然后再new String()方法设置格式为“utf-8”; String str = new String(val.getBytes("content"),"UTF-8");

Python脚本---把MySQL数据库表中的数据导出生成csv格式文件

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/45841221 #!/usr/bin/env python # -*- coding:utf-8 -*- """  Purpose: 生成日汇总对账文件  Created: 2015/4/27  Modified:2015/5/1  @author: guoyJoe""" #导入模块import MySQLdbimport timeimpo

用SQL语句将数据表中的数据保存为JSON格式

没有找到好的工具,只想到了拼字符串的方式,用   NVARCHAR(MAX)  可能有截断,不推荐使用,方法中使用了 FOR XML PATH('') 实现,有关其使用方法参考这里 表结构: SQL 语句: SELECT '{"id":'+CONVERT(NVARCHAR(20),id)+',"areacode":'+areacode+',"areaname":"'+areaname+'","paremt_areac