1、网页资料

  1.1、http://bbs.csdn.net/topics/190020986

  1.2、

    http://cdn.verydemo.com/demo_c89_i166794.html

    http://blog.csdn.net/hexingyeyun/article/details/8678154

  1.3、

    http://www.lai18.com/content/2088054.html

    http://www.jb51.net/article/95073.htm

  1.4、Delphi external 使用 ?.obj中的函数:http://bbs.csdn.net/topics/60347700

2、我的测试代码

  2.1、

procedure TForm1.Button2Click(Sender: TObject);
var cs :TCompressionStream;
ms :TMemoryStream;
pc :PChar;
buffer :PCHar;
i :integer;
begin
pc := 'Test123456';
ms := TMemoryStream.Create;
cs := TCompressionStream.Create(clMax, ms); // (clNone, clFastest, clDefault, clMax);
cs.Write(pc[], strlen(pc));
cs.Free;
Memo1.Lines.Add('-->'+inttostr(ms.size)); GetMem(buffer, ms.size);
ms.Read(buffer[], ms.size); for i:= to ms.size do
Memo1.Lines.Add(inttostr(integer(buffer[i])));
end; procedure TForm1.Button3Click(Sender: TObject);
var
zip: TVclZip;
compr: string;
data: PChar;
txt :PChar;
arr :array[..] of byte;
iOut :integer;
p :pointer;
i :integer;
begin
txt := 'Test123456';
iOut := ;
zip := TVclZip.Create(nil);
for i:= to do
Memo1.Lines.Add(inttostr(integer(arr[i]))); p := nil;
zip.ZLibCompressBuffer(txt, strlen(txt), p, iOut);
zip.Free; Memo1.Lines.Add('-->'+inttostr(iOut)); for i:= to iOut- do
Memo1.Lines.Add(inttostr(integer(PChar(p)[i])));
end;

  2.2、

package str;

import java.io.ByteArrayOutputStream;
import java.sql.ResultSet;
import java.util.zip.DeflaterOutputStream;
import java.util.zip.GZIPOutputStream;
import java.util.zip.InflaterOutputStream; public class TstrTest
{
public static void main(String[] args) throws Exception
{
// String str = "退出";
//
// byte[] bytesGBK = str.getBytes("gbk");
// for (int i=0; i<bytesGBK.length; i++)
// System.out.print(String.format("%02X ", bytesGBK[i]));
// System.out.println();
//
// byte[] bytesUTF8 = str.getBytes("utf-8");
// for (int i=0; i<bytesUTF8.length; i++)
// System.out.print(String.format("%02X ", bytesUTF8[i])); ByteArrayOutputStream bao = new ByteArrayOutputStream();
//InflaterOutputStream ios = new InflaterOutputStream(bao);
DeflaterOutputStream dos = new DeflaterOutputStream(bao);
String str = "Test123456";
dos.write(str.getBytes("iso-8859-1"));
dos.close();
byte[] bytes = bao.toByteArray(); for (int i=0; i<bytes.length; i++)
System.out.println(i+" : " + ((int)bytes[i] & 0xFF));
//SevenZArchiveEntry ss; System.out.println();
bytes = Compress(str.getBytes("iso-8859-1"));
for (int i=0; i<bytes.length; i++)
System.out.println(i+" : " + ((int)bytes[i] & 0xFF));
} public static byte[] Compress(byte[] _bytes) throws Exception
{
if (_bytes == null || _bytes.length == 0)
return null;
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(_bytes);
gzip.close();
return out.toByteArray();
}
}

    ZC: 仔细对比 java代码中 zlib和gzip 压缩出来的数据 其实是一样的,只是 头部&尾部不同而已,也印证了上面 网页资料1.3 中的说法

3、

java_zlib_资料的更多相关文章

  1. Vim新手入门资料和一些Vim实用小技巧

    一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...

  2. Git入门资料汇总

    Git是一个非常好用的版本控制工具,同时,它也是一个相对比较复杂的工具,想要掌握它还是需要花一番功夫的.网络上关于Git的入门资料已经很多了,我就不再重复了,直接把我学习的文章放在这里. Git详解 ...

  3. MVC5 网站开发之七 用户功能 3用户资料的修改和删除

    这次主要实现管理后台界面用户资料的修改和删除,修改用户资料和角色是经常用到的功能,但删除用户的情况比较少,为了功能的完整性还是坐上了.主要用到两个action "Modify"和& ...

  4. webapi的学习资料

    猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...

  5. 人工智能AI-机器视觉CV-数据挖掘DM-机器学习ML-神经网络-[资料集合贴]

    说明:这个贴用于收集笔者能力范围内收集收藏并认为有用的资料,方便各方参考,免去到处找寻之苦,提升信息的交叉引用价值.仅供参考,不作为必然的推荐倾向.如涉及版权等问题请相关人员联系笔者,谢谢. |博客| ...

  6. python教程与资料

    网上有个人写的python快速教程,非常好.比看书好多了.猛击下面的链接地址 http://www.douban.com/group/topic/30008503/ python文档资料收集 pyth ...

  7. protobuf学习(2)-相关学习资料

    protobuf官方git地址 protobuf官方英文文档   (你懂的需要FQ) protobuf中文翻译文档 protobuf概述          (官方翻译 推荐阅读) protobuf入门 ...

  8. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  9. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

随机推荐

  1. understand EntityManager.joinTransaction()

    Join Transaction The EntityManager.joinTransaction() API allows an application managed EntityManager ...

  2. mdf, ldf文件导入到sql server 2005的方法

    mdf, ldf文件导入到sql server 2005的方法 在实际的工作中, 有很多涉及到数据库资料的备份,转移, 恢复等方面的工作, 但是并不是所有的资料都是以.bak格式存在的, 比如说, 你 ...

  3. python学习笔记(十一)redis的介绍及安装

    一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库.       2.redis的官网地址,非常好记,是redis.io. ...

  4. python subplot 合并子图的方法

  5. string与CString对比

    string是标准C++库中的字符串类,CString是在Windows开发环境下常用的字符串类,CString目前已从MFC中分离出来可以单独使用,只需包含atlstr.h即可. 相比string, ...

  6. vim树形目录

    NERD tree树形目录插件 • 插件简介 NERD tree是一款vim树形文件资源管理器插件.NERD tree可以让你在vim中浏览你的文件系统,打开想要的文件或目录. • 插件安装 ▶ 下载 ...

  7. CTreeView 的教程

    整个网上搜了一圈没有好的CTreeView 的教程,所以自己谢谢看. CTreeView 是什么? C打头的东西当然是一个类了. 有类就有继承,他的继承关系如下. 有个东西和他比较像 叫CTreeCt ...

  8. Java泛型三:Java泛型详解

    原文地址https://www.cnblogs.com/lzq198754/p/5780426.html 1.为什么需要泛型 泛型在Java中有很重要的地位,网上很多文章罗列各种理论,不便于理解,本篇 ...

  9. vmware下安装centos7

    下载vmware http://down-www.newasp.net/pcdown/big/wm_pro_14_win.rar 下载centos7 https://www.centos.org/do ...

  10. 来自IOS开发工程师的零基础自学HTML5经验分享

    移动互联网的火爆,而Html具有跨平台.开发快的优势,越来越受到开发者的青睐.感谢IOS开发工程师“小木___Boy”’带来的HTML5学习经验分享. 一.学习途径 1.很多视频网站 比如慕课.和极客 ...