rfc1951.ps

来自「<VC++网络游戏建摸与实现>源代码」· PS 代码 · 共 920 行 · 第 1/4 页

PS
920
字号
%!PS-Adobe-2.0%%Creator: dvipsk 5.55a Copyright 1986, 1994 Radical Eye Software%%Title: rfc-deflate.ps%%Pages: 15%%PageOrder: Ascend%%BoundingBox: 0 0 612 792%%DocumentFonts: Times-Roman Times-Bold Times-Italic Courier%%EndComments%DVIPSCommandLine: dvips -D 300 -o deflate.ps deflate.dvi%DVIPSParameters: dpi=300, compressed, comments removed%DVIPSSource:  TeX output 1996.05.23:2040%%BeginProcSet: texc.pro/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scaleisls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 divhsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mulTR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N /@landscape{/isls true N}B/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB Nstring /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE Nend dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data duplength 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 subget 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-datadup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoffsetcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{idgp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cpadd /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index stringputinterval adv}B /set{rw cp fillstr 0 4 index getinterval putintervaladv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup duplength 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup muladd .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpageuserdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hookknown{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 00]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley falseRMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transformround exch round exch itransform moveto rulex 0 rlineto 0 ruley negrlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll pa}B /bos{/SS save N}B /eos{SS restore}B end%%EndProcSet%%BeginProcSet: texps.proTeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 rollexec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metricsexch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 subdup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics /Metrics currentdict end def[2 index currentdictend definefont 3 -1 roll makefont /setfont load]cvx def}def/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}defend%%EndProcSetTeXDict begin 40258431 52099146 1000 300 300 (deflate.dvi)@start /Fa 133[25 25 25 25 25 25 25 25 25 1[25 25 2525 25 25 25 25 25 25 25 25 25 25 25 25 12[25 25 4[251[25 2[25 25 2[25 25 25 25 4[25 25 25 25 25 25 25 2525 25 25 25 25 25 25 25 25 25 25 1[25 25 4[25 35[{}5741.666668 /Courier rf /Fb 69[23 10[25 25 3[23 48[23 2333 1[25 15 18 20 1[25 23 25 38 13 25 1[13 25 23 15 2025 20 25 23 7[33 3[33 30 25 2[28 1[33 5[35 2[30 33 3330 4[26 5[23 23 23 23 23 23 23 23 1[11 15 3[15 15 40[{}5045.624989 /Times-Bold rf /Fc 60[27 70[27 1[27 27 27 2727 27 27 27 27 1[27 27 27 27 27 27 1[27 27 27 27 27 2727 27 27 3[27 27 27 1[27 27 1[27 1[27 27 27 1[27 1[2727 27 1[27 27 27 27 27 27 27 27 27 27 27 1[27 27 27 2727 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 1[2727 6[27 33[{}73 45.624989 /Courier rf /Fd 81[28 55[2528 17 19 22 1[28 25 28 41 14 28 1[14 28 25 17 22 28 2228 25 13[28 2[30 39 5[19 4[36 36 12[25 25 25 25 25 252[12 46[{}34 50.000000 /Times-Bold rf /Fe 141[18 1[2323 5[13 7[23 97[{}5 45.624989 /Times-Italic rf /Ff 263 df<EC01C0EC0780EC1E001478EB01E0EB0780010EC7FC133C13F0EA03C0000FC8FC123C12F0A2123C120FEA03C0EA00F0133C130E6D7EEB01E0EB0078141EEC0780EC01C01A1A7C9723>60 D<12E01278121EEA0780EA01E0EA0078131C130FEB03C0EB00F0143C140FEC03C0A2EC0F00143C14F0EB03C0010FC7FC131C1378EA01E0EA0780001EC8FC127812E01A1A7C9723>62 D E /Fg 4 104 df<EB01FE90380FFFC090383E01F09038F0003CD801C0130E48487F48C7EA0380000EEC01C0000C1400001C15E048157000301530A20070153800601518A200E0151C48150CA96C151C00601518A20070153800301530A2003815706C15E0000C15C0000E14016CEC03806C6CEB07006C6C130ED800F0133C90383E01F090380FFFC0D901FEC7FC262B7DA02D>13 D<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA8EA7FFEA2EA3FFCEA1FF8EA07E010127D9317>15 D<130F1338136013E0EA01C0AFEA0380EA0700121E12F8121E1207EA0380EA01C0AFEA00E013601338130F102D7DA117>102D<12F8121E1207EA0380EA01C0AFEA00E013601338130F1338136013E0EA01C0AFEA0380EA0700121E12F8102D7DA117>I E /Fh 81[33 52[30 1[43 3033 20 23 27 1[33 30 33 50 17 33 1[17 33 30 20 27 33 2733 30 12[40 33 43 3[43 56 3[23 1[47 1[40 43 43 1[43 6[2030 30 30 30 30 30 30 30 30 9[20 39[{}45 59.999973 /Times-Boldrf /Fi 81[40 55[36 1[20 28 24 1[36 36 36 56 3[20 3[3236 32 1[32 12[44 40 6[44 5[40 44 52 48 1[52 13[36 1[362[18 46[{}25 72.000000 /Times-Roman rf /Fj 69[20 10[2525 3[20 47[20 23 23 33 23 23 13 18 15 23 23 23 23 3513 23 13 13 23 23 15 20 23 20 23 20 3[15 1[15 28 33 3343 33 33 28 25 30 33 25 33 33 40 28 33 18 15 33 33 2528 33 30 30 33 3[26 1[13 13 23 23 23 23 23 23 23 23 2323 13 11 15 11 26 23 15 15 15 1[38 37[{}81 45.624989/Times-Roman rf end%%EndProlog%%BeginSetup%%Feature: *Resolution 300dpiTeXDict begin%%EndSetup%%Page: 1 11 0 bop 0 195 a Fj(Network)10 b(W)l(orking)h(Group)1301b(P)-5 b(.)12 b(Deutsch)0 252 y(Request)f(for)g(Comments:)k(1951)1049b(Aladdin)10 b(Enterprises)0 308 y(Category:)k(Informational)1319b(May)12 b(1996)79 479 y Fi(DEFLA)-8 b(TE)17 b(Compressed)g(Data)g(Format)g(Speci\256cation)g(version)g(1.3)0 704 y Fh(Status)e(of)g(This)g(Memo)0 836 y Fj(This)10 b(memo)j(provides)d(information)g(for)i(the)f(Internet)g(community)m(.)16 b(This)10 b(memo)i(does)f(not)g(specify)g(an)h(Internet)f(stan-)0 893 y(dard)g(of)g(any)g(kind.)k(Distribution)8 b(of)j(this)f(memo)i(is)f(unlimited.)01068 y Fh(IESG)k(note:)0 1201 y Fj(The)d(IESG)h(takes)f(no)g(position)e(on)i(the)g(validity)e(of)i(any)h(Intellectual)e(Property)h(Rights)f(statements)g(contained)g(in)h(this)0 1257 y(document.)01433 y Fh(Notices)0 1565 y Fj(Copyright)208 1564 y(c)1961565 y Fg(\015)g Fj(1996)e(L.)h(Peter)h(Deutsch)0 1651y(Permission)h(is)g(granted)g(to)g(copy)f(and)i(distribute)d(this)h(document)h(for)h(any)f(purpose)g(and)g(without)e(char)o(ge,)k(including)0 1707 y(translations)8 b(into)g(other)i(languages)f(and)g(incorporation)f(into)h(compilations,)g(provided)f(that)h(the)h(copyright)e(notice)h(and)0 1764 y(this)g(notice)g(are)i(preserved,)g(and)f(that)f(any)h(substantive)e(changes)i(or)g(deletions)e(from)j(the)f(original)f(are)h(clearly)g(marked.)0 1850 y(A)i(pointer)f(to)g(the)h(latest)e(version)h(of)h(this)f(and)g(related)h(documentation)e(in)i(HTML)f(format)i(can)f(be)g(found)f(at)h(the)f(URL)01906 y Ff(<)p Fj(ftp://ftp.uu.net/graphics/)o(png)o(/docu)o(ments/zl)o(ib/)o(zdoc-index)o(.html)p Ff(>)p Fj(.)0 2083 y Fh(Abstract)02217 y Fj(This)i(speci\256cation)h(de\256nes)g(a)g(lossless)f(compressed)h(data)g(format)h(that)e(compresses)i(data)f(using)f(a)h(combination)f(of)0 2273 y(the)d(LZ77)f(algorithm)f(and)i(Huf)o(fman)g(coding,)g(with)e(ef)o(\256ciency)j(comparable)f(to)f(the)h(best)f(currently)g(available)g(general-)0 2329 y(purpose)h(compression)g(methods.)k(The)d(data)g(can)g(be)g(produced)f(or)h(consumed,)g(even)g(for)g(an)g(arbitrarily)f(long)g(sequen-)0 2386 y(tially)d(presented)g(input)g(data)g(stream,)j(using)c(only)h(an)i Fe(a)e(priori)gFj(bounded)f(amount)i(of)g(intermediate)f(storage.)14b(The)8 b(format)0 2442 y(can)j(be)h(implemented)e(readily)h(in)g(a)g(manner)h(not)e(covered)i(by)e(patents.)0 2719 y(Deutsch)698b(Informational)g([Page)12 b(1])p eop%%Page: 2 22 1 bop 0 46 a Fj(RFC)12 b(1951)320 b(DEFLA)-5 b(TE)10b(Compressed)i(Data)f(Format)g(Speci\256cation)321 b(April)10b(1996)0 195 y Fh(Contents)0 298 y Fj(1)104 b(Introduction)32b(.)23 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(2)68 355y(1.1)70 b(Purpose)44 b(.)23 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64b(2)68 411 y(1.2)70 b(Intended)11 b(audience)29 b(.)23b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(2)68 468 y(1.3)70 b(Scope)12 b(.)23b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(2)68 524y(1.4)70 b(Compliance)40 b(.)23 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64b(3)68 581 y(1.5)82 b(De\256nitions)9 b(of)i(terms)h(and)f(conventions)e(used)26 b(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(3)68637 y(1.6)70 b(Changes)11 b(from)h(previous)e(versions)h(.)24b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64b(3)0 694 y(2)104 b(Compressed)11 b(representation)f(overview)28b(.)23 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64b(3)0 750 y(3)104 b(Detailed)11 b(speci\256cation)33b(.)23 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(4)68 806 y(3.1)70 b(Overall)11b(conventions)26 b(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(4)173 863 y(3.1.1)54b(Packing)11 b(into)f(bytes)38 b(.)23 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(4)68 919 y(3.2)70b(Compressed)12 b(block)e(format)28 b(.)23 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(5)173 976y(3.2.1)54 b(Synopsis)10 b(of)h(pre\256x)g(and)g(Huf)o(fman)h(coding)31b(.)23 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(5)173 1032 y(3.2.2)54b(Use)11 b(of)g(Huf)o(fman)h(coding)e(in)h(the)g(\252de\257ate\272)h(format)38 b(.)23 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(6)173 1089 y(3.2.3)54 b(Details)10b(of)i(block)e(format)20 b(.)j(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(7)173 1145 y(3.2.4)54 b(Non-compressed)11b(blocks)f(\(BTYPE=00\))20 b(.)j(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64b(9)173 1202 y(3.2.5)54 b(Compressed)11 b(blocks)f(\(length)g(and)h(distance)g(codes\))24 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(9)173 1258 y(3.2.6)54b(Compression)10 b(with)h(\256xed)g(Huf)o(fman)h(codes)e(\(BTYPE=01\))42 b(.)23 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42 b(10)173 1315 y(3.2.7)54 b(Compression)10 b(with)h(dynamic)g(Huf)o

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?