日期:2014-05-17 浏览次数:20908 次
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; }