您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > LZW编码Matlab程序
function[S,sz]=LZW(x)%S为编码,sz为字典中新短语的个数,x为原消息n=length(x);S{1}=x(1);zd(1).z=strcat(x(1),x(2));%表示对应的字zd(1).p=256;%表示对应的编码sz=1;%sz表示字典中字的个数ss=1;%ss表示输出压缩码的个数j=2;whilej=ni=n;h=1;while(i=j+1&&h0)sx=x(j:i);k=1;a=1;while(k=sz&&a0)kl=strcmp(sx,zd(k).z);ifkl==1a=0;ss=ss+1;S{ss}=zd(k).p;if(in)sz=sz+1;zd(sz).z=strcat(sx,x(i+1));zd(sz).p=255+sz;endendk=k+1;endifa==0h=0;endi=i-1;endifh==1sx=x(j);ss=ss+1;S{ss}=sx;ifjnsz=sz+1;zd(sz).z=strcat(sx,x(j+1));zd(sz).p=255+sz;endendm=length(sx);j=j+m;end
本文标题:LZW编码Matlab程序
链接地址:https://www.777doc.com/doc-3079436 .html