摘要: gzip,zlib,以及图形格式png,使用的是同一个压缩算法deflate。我们通过对gzip源码的分析来对deflate压缩算法做一个详细的说明。我阅读的gzip版本为 gzip-1.2.4。我 们对算法做三种程度的说明。第一种程度,对gzip所使用压缩算法基本原理的说明。第二种程度,对gzip压缩算法实现方法的说明。第三种程度,对gzip实现源码级的说明。 如果你有时间的话,我建议你先不要看下面的内容,自己尝试通过读gzip源码,来了解它的压缩解压缩是如何实现的,这将会是一个非常有趣的智力游戏,千万不要错过。当 一个又一个的谜被解开时,那感觉就像唐伯虎同志所说的,“慷慨然诺杯酒中”。(小 阅读全文
posted @ 2010-12-16 20:42 napoleon_liu 阅读(1611) 评论(0) 推荐(0) 编辑
摘要: 全新的思路 我们在第三和第四章中讨论的压缩模型都是基于对信息中单个字符出现频率的统计而设计的,直到 70 年代末期,这种思路在数据压缩领域一直占据着统治地位。在我们今天看来,这种情形在某种程度上显得有些可笑,但事情就是这样,一旦某项技术在某一领域形成了惯例,人们就很难创造出在思路上与其大相径庭的哪怕是更简单更实用的技术来。 我们敬佩那两个在数据压缩领域做出了杰出贡献的以色列人,因为正是他们打破... 阅读全文
posted @ 2010-12-16 20:36 napoleon_liu 阅读(4465) 评论(5) 推荐(0) 编辑
摘要: HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2... 阅读全文
posted @ 2010-12-16 15:25 napoleon_liu 阅读(430) 评论(0) 推荐(0) 编辑
摘要: C里操作字符串很高效,但也很麻烦。 1. char * strcpy ( char * destination, const char * source ); 最常用的函数,但是却不安全,原因在于,一是要destination有足够的空间,二是要保证source和destination指向的空间没有overlap。 2. int sprintf ( char * str, const cha... 阅读全文
posted @ 2010-12-16 10:16 napoleon_liu 阅读(2080) 评论(2) 推荐(0) 编辑