快速业务通道

C++ Builder控件版

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
eak;
    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=45;
    strncpy(sour,inputtext,m);
   }
   inputtext+=m;
   for(i=0;i<n/3;i++)
    Xxe(sour+i*3,obje+i*4);
   *(FOutputText+j++)=set[m&63];
   strncpy(FOutputText+j,obje,n/3*4);
   j+=n/3*4;
   *(FOutputText+j++)=''\n'';
  }
  *(FOutputText+j++)=''+'';
  *(FOutputText+j++)=''\n'';
  *(FOutputText+j)=''\0'';
  FOutput=(AnsiString)FOutputText;
  delete []sour;
  delete []obje;
}
//---------------------------------------------------------------------------
/*Xxencode園鷹*/
void __fastcall TGbBig::Xxe(unsigned char chasc[3],unsigned char chxxe[4])
/*
chasc?隆園鷹議屈序崙旗鷹
chxxe?園鷹狛議Xxe旗鷹
*/
{
  int i;
  char set[]="+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  chxxe[0]=chasc[0]>>2;
  chxxe[1]=(chasc[0]<<4)&48|(chasc[1]>>4)&15;
  chxxe[2]=(chasc[1]<<2)&60|(chasc[2]>>6)&3;
  chxxe[3]=chasc[2]&63;
  for(i=0;i<4;i++) chxxe[i]=set[chxxe[i]];     /*臥燕*/
}
/*俶廣吭議頁?Xxencode猟周屎猟何蛍嶄耽匯佩議及匯倖忖銚頁?貫坿猟周嶄糞縞響函議忖憲方議ASCII峙函朔鎗了朔喘set[]臥燕誼欺議。*/
//---------------------------------------------------------------------------
//斤XXenCode盾鷹
void __fastcall TGbBig::DecodeXxe(void)
{
  unsigned char *sour,*obje,*inputtext;
  unsigned int i,j=0,m=45,n;
  sour=new char[60];
  obje=new char[45];
  inputtext=FInputText;
  while(m==45)
  {
   while(*inputtext==''\r''||*inputtext==''\n'')
    inputtext++;
   if((m=*inputtext)!=''+''||m==''\0'')
   {
    n=set(m);
    m=n;
    inputtext++;
   }
   else break;
   if(n<45)
   {
    if(n%3) n=(n-n%3+3)/3*4;
    else n=n/3*4;
   }
   else n=n/3*4;
   strncpy(sour,inputtext,n);
   inputtext+=n;
   for(i=0;i<n/4;i++)
    unXxe(sour+i*4,obje+i*3);
   strncpy(FOutputText+j,obje,m);
   j+=m;
  }
  *(FOutputText+j)=''\0'';
  FOutput=(AnsiString)FOutputText;
  delete []sour;
  delete []obje;
}
//---------------------------------------------------------------------------
/*Xxencode盾鷹*/
unsigned char __fastcall TGbBig::set(unsigned char ch)   /*臥燕痕方*/
{
  if(ch==43) ch=0;
  else if(ch==45) ch=1;
  else if(ch>=48&&ch<=57) ch-=46;
  else if(ch>=65&&ch<=90) ch-=53;
  else if(ch>=97&&ch<=122) ch-=59;
  return ch;
}
//---------------------------------------------------------------------------
void __fastcall TGbBig::unXxe(unsigned char chxxe[4],unsigned char chasc[3])
/*
chxxe?隆盾鷹議Xxe旗鷹
chasc?盾鷹狛議屈序崙旗鷹
*/
{
  int k=2 ,i;
  unsigned char t;
  t=NULL;
  *chxxe=set(*chxxe);
  for(i=0;i<3;i++)
  {
   *(chxxe+i+1)=set(*(chxxe+i+1));
   *(chasc+i)=*(chxxe+i)<<k;
   k+=2;
   t=*(chxxe+i+1)>>8-k;
   *(chasc+i)|=t;
  }
}
//---------------

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号