java_zlib_资料

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[0], strlen(pc));
  cs.Free;
  Memo1.Lines.Add(‘-->‘+inttostr(ms.size));

  GetMem(buffer, ms.size);
  ms.Read(buffer[0], ms.size);

  for i:=0 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[0..256] of byte;
  iOut :integer;
  p :pointer;
  i :integer;
begin
  txt := ‘Test123456‘;
  iOut := 0;
  zip := TVclZip.Create(nil);
  for i:=0 to 17 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:=0 to iOut-1 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、

时间: 2024-10-13 16:44:03

java_zlib_资料的相关文章

Android 学习资料分享(2015 版)

我是如何自学Android,资料分享(2015 版) Tikitoo2015.02.11 10:21 1713 字 3932 次阅读 自己学了两三个月的Android,最近花了一周左右的时间写了个App--Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的--<我是如何自学Android,资料分享>,如果是初学Android 的话,不应该错过的,而今天这篇分享好这篇文章,相对于第一次写的会有所提升,所以建议先把上一篇看了,再

华为FusionCloud 云计算解决方案及相关资料下载

华为FusionCloud云计算解决方案引入水平融合.垂直融合.接入融合和数据融合四位一体的全融合,对企业与行业传统数据中心的IT基础设施的进行"融合重构", 帮助企业化繁为简,实现商业价值. FusionCloud 彻底打破原有的笨重的IT基础设施在支撑企业核心业务效率与成本方面的束缚与障碍,把企业传统数据中心改造成为一个高度简化.标准化.自动化和弹性的云数据中心,使得企业的IT支撑系统从企业的"成本中心"转型成为推动企业核心业务不断发展的引擎. 相关资料下载地址

nodejs学习资料

NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS

linux netlink套接字学习资料

理论: http://blog.csdn.net/unbutun/article/details/3394061 进一步深入: http://edsionte.com/techblog/archives/4134 http://edsionte.com/techblog/archives/4140 http://edsionte.com/techblog/archives/4134 实践: http://bbs.chinaunix.net/thread-3766684-1-1.html 附录代码

机器学习资料

1. https://pan.baidu.com/s/1jIegLmu 密码: 87im (资料)2. https://pan.baidu.com/s/1bpAjo7d 密码: yppj(数据)

【持续更新】机械工业出版社华章科技《计算机科学丛书》原版PDF+随书资料下载

图片 中文名 英文名 版次 著 译 PDF下载 随书资料 计算机科学导论 Foundations of Computer Science 3rd Behrouz Forouzan & Firouz Mosharraf 刘艺 瞿高峰 等     Java编程思想 Thinking in Java 4th Bruce Eckel  陈昊鹏 链接: http://pan.baidu.com/s/1brGWnc 密码: 2hrr    软件工程:实践者的研究方法 Software Engineering

独家全功能USB2.0开发板,最强CY7C68013A-128核心板,超强资料不断提供更新服务

       学习USB开发再也不用买书啦,也不用花费重金去上培训班啦,IFLabs开创USB学习开发新模式,你所需要的知识.技术.范例.代码等等统统都在这里.IFLabs打造全网最丰富.最权威的USB开发平台和资料. 热卖的IFLabs精品USB2.0核心板套件再升级,全网独家推出最强.最全功能的Cypress USB 2.0 CY7C68013A-128AXC核心板开发板,全网最全配件和全网最全开发资料.只需这一次投入,即可实现USB接口开发的从入门到精通!并且有长期的全网最全开发手册更新支

公众号快速吸几万粉分享课资料

昨晚很多人表示听课的录音找不到了,所以简单的整理了一份文字版.虽然比较简单,但是核心的东西都基本在呢.因为比较晚了所以可能整理得有点乱,大家费点心看吧. 今天晚上主要分享的内容是公众号快速吸粉这块的,我今天晚上用了一天吸几万粉这个标题,但是并不代表大家在听完课操作后就一定能达到这个效果.因为这里面的因素很多,如果真的每个人都能轻松达到这个效果,有怎么神奇的话,估计我也不用做项目了.直接收8万8一堂课就够我花三代了.写这个标题只是为了吸引更多的人来听课.但是如果你肯去做,肯花时间和精力去研究或者你

数据资料的统计描述

一.集中趋势 1.算术平均数 1.1 简单的算术平均数 1.2 加权的算术平均数 均值的计算要根据分组的资料进行,要涉及到频数的考虑,即所谓的加权问题. 2.几何平均数 2.1 简单几何平均数 数据资料的统计描述