C++ Builder控件版
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-30
3,obje+i*4); strncpy(FOutputText+j,obje,n/3+m); //n/3*4-(n-m) j+=n/3+m; for(i=0;i<(n-m);i++,j++) *(FOutputText+j)=''=''; *(FOutputText+j++)=''\n''; } *(FOutputText+j)=''\0''; FOutput=(AnsiString)FOutputText; delete []sour; delete []obje; } //--------------------------------------------------------------------------- void __fastcall TGbBig::Base64(unsigned char chasc[3],unsigned char chuue[4]) /* chasc?隆園鷹議屈序崙旗鷹 chuue?園鷹狛議Base64旗鷹 */ { unsigned int i,k=2; unsigned char t=NULL; for(i=0;i<3;i++) { *(chuue+i)=*(chasc+i)>>k; *(chuue+i)|=t; t=*(chasc+i)<<(8-k); t>>=2; k+=2; } *(chuue+3)=*(chasc+2)&63; for(i=0;i<4;i++) if((*(chuue+i)>=0)&&(*(chuue+i)<=25)) *(chuue+i)+=65; else if((*(chuue+i)>=26)&&(*(chuue+i)<=51)) *(chuue+i)+=71; else if((*(chuue+i)>=52)&&(*(chuue+i)<=61)) *(chuue+i)-=4; else if(*(chuue+i)==62) *(chuue+i)=43; else if(*(chuue+i)==63) *(chuue+i)=47; } //--------------------------------------------------------------------------- //斤Base64盾鷹 void __fastcall TGbBig::DecodeBase64(void) { unsigned char *sour,*obje,*inputtext; unsigned int i,j=0,m=57,n=76; sour=new char[76]; obje=new char[57]; inputtext=FInputText; while(m==57) { while(*inputtext==''\r''||*inputtext==''\n'') inputtext++; m=strlen(inputtext); if(m<76) { if(m==0) break; n=m; } m=n/4*3; strncpy(sour,inputtext,n); inputtext+=n; for(i=0;i<n/4;i++) unBase64(sour+i*4,obje+i*3); strncpy(FOutputText+j,obje,m); j+=m; } *(FOutputText+j)=''\0''; FOutput=(AnsiString)FOutputText; delete []sour; delete []obje; } //--------------------------------------------------------------------------- /*Base64盾鷹*/ void __fastcall TGbBig::unBase64(unsigned char chuue[4],unsigned char chasc[3]) /* chuue?隆盾鷹議Base64旗鷹 chasc?盾鷹狛議屈序崙旗鷹 */ { int i,k=2; unsigned char t=NULL; for(i=0;i<4;i++) if((*(chuue+i)>=65)&&(*(chuue+i)<=90)) *(chuue+i)-=65; else if((*(chuue+i)>=97)&&(*(chuue+i)<=122)) *(chuue+i)-=71; else if((*(chuue+i)>=48)&&(*(chuue+i)<=57)) *(chuue+i)+=4; else if(*(chuue+i)==43) *(chuue+i)=62; else if(*(chuue+i)==47) *(chuue+i)=63; else if(*(chuue+i)==61) *(chuue+i)=0; for(i=0;i<3;i++) { *(chasc+i)=*(chuue+i)<<k; k+=2; t=*(chuue+i+1)>>8-k; *(chasc+i)|=t; } } //--------------------------------------------------------------------------- //喘UUenCode序佩園鷹 void __fastcall TGbBig::EncodeUue(void) { unsigned char *sour,*obje,*inputtext; unsigned int i,j=0,m=45,n=45,num; inputtext=FInputText; sour=new char[45]; obje=new char[60]; while(m==45) { m=strlen(inputtext); if(m<45) { if(m==0) br |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: C++ :指针及其有关的问题下一篇: C++中指针入门
关于C++ Builder控件版的所有评论