rfc1951.ps
来自「RFC 的详细文档!」· 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 72
mul 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 scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[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 N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end 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 dup
length 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 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup 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-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice 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{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /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 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}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 2
chg 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 dup
length 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 @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
known{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}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]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 7
getinterval 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 false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto 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 p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: texps.pro
TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2
index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict
end 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}def
end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 300 300 (deflate.dvi)
@start /Fa 133[25 25 25 25 25 25 25 25 25 1[25 25 25
25 25 25 25 25 25 25 25 25 25 25 25 25 12[25 25 4[25
1[25 2[25 25 2[25 25 25 25 4[25 25 25 25 25 25 25 25
25 25 25 25 25 25 25 25 25 25 25 1[25 25 4[25 35[{}57
41.666668 /Courier rf /Fb 69[23 10[25 25 3[23 48[23 23
33 1[25 15 18 20 1[25 23 25 38 13 25 1[13 25 23 15 20
25 20 25 23 7[33 3[33 30 25 2[28 1[33 5[35 2[30 33 33
30 4[26 5[23 23 23 23 23 23 23 23 1[11 15 3[15 15 40[{}50
45.624989 /Times-Bold rf /Fc 60[27 70[27 1[27 27 27 27
27 27 27 27 27 1[27 27 27 27 27 27 1[27 27 27 27 27 27
27 27 27 3[27 27 27 1[27 27 1[27 1[27 27 27 1[27 1[27
27 27 1[27 27 27 27 27 27 27 27 27 27 27 1[27 27 27 27
27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 1[27
27 6[27 33[{}73 45.624989 /Courier rf /Fd 81[28 55[25
28 17 19 22 1[28 25 28 41 14 28 1[14 28 25 17 22 28 22
28 25 13[28 2[30 39 5[19 4[36 36 12[25 25 25 25 25 25
2[12 46[{}34 50.000000 /Times-Bold rf /Fe 141[18 1[23
23 5[13 7[23 97[{}5 45.624989 /Times-Italic rf /Ff 2
63 df<EC01C0EC0780EC1E001478EB01E0EB0780010EC7FC133C13F0EA03C0000FC8FC12
3C12F0A2123C120FEA03C0EA00F0133C130E6D7EEB01E0EB0078141EEC0780EC01C01A1A
7C9723>60 D<12E01278121EEA0780EA01E0EA0078131C130FEB03C0EB00F0143C140FEC
03C0A2EC0F00143C14F0EB03C0010FC7FC131C1378EA01E0EA0780001EC8FC127812E01A
1A7C9723>62 D E /Fg 4 104 df<EB01FE90380FFFC090383E01F09038F0003CD801C0
130E48487F48C7EA0380000EEC01C0000C1400001C15E048157000301530A20070153800
601518A200E0151C48150CA96C151C00601518A20070153800301530A2003815706C15E0
000C15C0000E14016CEC03806C6CEB07006C6C130ED800F0133C90383E01F090380FFFC0
D901FEC7FC262B7DA02D>13 D<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA8EA7FFEA2EA3FFC
EA1FF8EA07E010127D9317>15 D<130F1338136013E0EA01C0AFEA0380EA0700121E12F8
121E1207EA0380EA01C0AFEA00E013601338130F102D7DA117>102
D<12F8121E1207EA0380EA01C0AFEA00E013601338130F1338136013E0EA01C0AFEA0380
EA0700121E12F8102D7DA117>I E /Fh 81[33 52[30 1[43 30
33 20 23 27 1[33 30 33 50 17 33 1[17 33 30 20 27 33 27
33 30 12[40 33 43 3[43 56 3[23 1[47 1[40 43 43 1[43 6[20
30 30 30 30 30 30 30 30 30 9[20 39[{}45 59.999973 /Times-Bold
rf /Fi 81[40 55[36 1[20 28 24 1[36 36 36 56 3[20 3[32
36 32 1[32 12[44 40 6[44 5[40 44 52 48 1[52 13[36 1[36
2[18 46[{}25 72.000000 /Times-Roman rf /Fj 69[20 10[25
25 3[20 47[20 23 23 33 23 23 13 18 15 23 23 23 23 35
13 23 13 13 23 23 15 20 23 20 23 20 3[15 1[15 28 33 33
43 33 33 28 25 30 33 25 33 33 40 28 33 18 15 33 33 25
28 33 30 30 33 3[26 1[13 13 23 23 23 23 23 23 23 23 23
23 13 11 15 11 26 23 15 15 15 1[38 37[{}81 45.624989
/Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%EndSetup
%%Page: 1 1
1 0 bop 0 195 a Fj(Network)10 b(W)l(orking)h(Group)1301
b(P)-5 b(.)12 b(Deutsch)0 252 y(Request)f(for)g(Comments:)k(1951)1049
b(Aladdin)10 b(Enterprises)0 308 y(Category:)k(Informational)1319
b(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.)0
1068 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.)0
1433 y Fh(Notices)0 1565 y Fj(Copyright)208 1564 y(c)196
1565 y Fg(\015)g Fj(1996)e(L.)h(Peter)h(Deutsch)0 1651
y(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)0
1906 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)0
2217 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)g
Fj(bounded)f(amount)i(of)g(intermediate)f(storage.)14
b(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)698
b(Informational)g([Page)12 b(1])p eop
%%Page: 2 2
2 1 bop 0 46 a Fj(RFC)12 b(1951)320 b(DEFLA)-5 b(TE)10
b(Compressed)i(Data)f(Format)g(Speci\256cation)321 b(April)10
b(1996)0 195 y Fh(Contents)0 298 y Fj(1)104 b(Introduction)32
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(.)64 b(2)68 355
y(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(.)64
b(2)68 411 y(1.2)70 b(Intended)11 b(audience)29 b(.)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(2)68 468 y(1.3)70 b(Scope)12 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(.)g(.)
g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)64 b(2)68 524
y(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(.)64
b(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)68
637 y(1.6)70 b(Changes)11 b(from)h(previous)e(versions)h(.)24
b(.)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(3)0 694 y(2)104 b(Compressed)11 b(representation)f(overview)28
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(.)64
b(3)0 750 y(3)104 b(Detailed)11 b(speci\256cation)33
b(.)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)11
b(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)54
b(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)70
b(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 976
y(3.2.1)54 b(Synopsis)10 b(of)h(pre\256x)g(and)g(Huf)o(fman)h(coding)31
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(.)64 b(5)173 1032 y(3.2.2)54
b(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)10
b(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)11
b(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(.)64
b(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)54
b(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 + -
显示快捷键?