日期:2014-05-17 浏览次数:21076 次
int CodeMWCode(BYTE*pIn,intsize,CHAR*pOut)
{
BYTE b1=0,bcal=0;
BYTE bflag1=0,bflag2=0;
IntI=0;
IntIptr=0;
Intoptr=0;
whIle(Iptr {
b1=pIn[iptr++]^0xeb;
If(I<2)
{
bcal=b1;
bcal>>=2;
bflag1=bcal;
bcal&=0x3c;
b1&=3;
bcal|=b1;
bcal+=0x3b;
pOut[optr++]=(char)bcal;
bflag2=(bflag1&3)|(bflag2<<2); 
}
else
{
bcal=b1;
bcal&=0x3f;
bcal+=0x3b;
pOut[optr++]=(char)bcal;
b1>>=2;
b1&=0x30;
b1|=bflag2;
b1+=0x3b;
pOut[optr++]=(char)b1;
bflag2=0;
}
I++;
I%=3;
}
pOut[optr]=0;
if(I==0)
returnoptr;
pOut[optr++]=bflag2+0x3b;
pOut[optr]=0;
// 打标记
returnoptr;
}