C++ Builder控件版
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-30
putText+i)=''~'';i++;goto end;} else {*(FOutputText+i)=hz;i++;} loop:; } end:; *(FOutputText+i)=''\0''; FOutput=(AnsiString)FOutputText; } //--------------------------------------------------------------------------- //喘QP序佩園鷹 void __fastcall TGbBig::EncodeQP(void) { unsigned char first,second,sour; unsigned int i=0; while((sour=*FInputText++)!=''\0'') { if(sour==61) { *(FOutputText+i)=''=''; i++; *(FOutputText+i)=''3''; i++; *(FOutputText+i)=''D''; i++; } else { if(sour>127) { first=sour>>4; second=sour&15; if(first>9) first+=55; else first+=48; if(second>9) second+=55; else second+=48; *(FOutputText+i)=''=''; i++; *(FOutputText+i)=first; i++; *(FOutputText+i)=second; i++; } else {*(FOutputText+i)=sour;i++;} } } *(FOutputText+i)=''\0''; FOutput=(AnsiString)FOutputText; } //--------------------------------------------------------------------------- //斤QP序佩盾鷹 void __fastcall TGbBig::DecodeQP(void) { unsigned char first,second,sour; unsigned int i=0; while((sour=*FInputText++)!=''\0'') { if(sour==61) { if((first=*FInputText++)==''\0'') {*(FOutputText+i)=sour;i++;break;} else if((first<48)||((first>57)&&(first<65))||(first>70)) { *(FOutputText+i)=sour; i++; *(FOutputText+i)=first; i++; continue; } else if((second=*FInputText++)==''\0'') { *(FOutputText+i)=sour; i++; *(FOutputText+i)=first; i++; break; } else if((second<48)||((second>57)&&(second<65))||(second>70)) { *(FOutputText+i)=sour; i++; *(FOutputText+i)=first; i++; *(FOutputText+i)=second; i++; continue; } if(first>=65) first-=55; else first-=48; if(second>=65) second-=55; else second-=48; sour=NULL; sour=first<<4; sour|=second; } *(FOutputText+i)=sour; i++; } *(FOutputText+i)=''\0''; FOutput=(AnsiString)FOutputText; } //--------------------------------------------------------------------------- //喘Base64序佩園鷹 void __fastcall TGbBig::EncodeBase64(void) { unsigned char *sour,*obje,*inputtext; unsigned int i,j=0,m=57,n=57; inputtext=FInputText; sour=new char[57]; obje=new char[76]; while(m==57) { m=strlen(inputtext); if(m<57) { if(m==0) break; n=m; strncpy(sour,inputtext,m); if(n%3) n=n-n%3+3; for(i=m;i<n;i++) *(sour+i)=NULL; } else { m=57; strncpy(sour,inputtext,m); } inputtext+=m; for(i=0;i<n/3;i++) Base64(sour+i* |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |