前段时间翻了翻以前收集的一些文档,看见了这个东西,于是想写个类封装一下.
这个东西在电子邮件中用的比较多,详细的情况自己搜索一下吧.
头文件部分:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*--------------------------------------------------------------------------------*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//定义一些额外的信息,保存这些信息到文件中可以用winrar打开
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#define BEGIN_FLAG "begin "
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#define END_FLAG "' end"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#define DEFAULT_ID "777"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
#define DEFAULT_FILE_NAME "UueEncodeFile.txt"
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
enum UueOutMode ...{out_str,out_file};
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
class CUuencode
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
public:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
CUuencode(/**//*UueOutMode Mode*/);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
void SetFileModeInf(unsigned char* filename=(unsigned char*)DEFAULT_FILE_NAME,unsigned char* ID=(unsigned char*)DEFAULT_ID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
public:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
~CUuencode(void);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
public:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
void unUueChar (unsigned char chuue[4],unsigned char chasc[3]);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
void UueChar (unsigned char chasc[3],unsigned char chuue[4]);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
DWORD UueStr (const unsigned char ascstr[],size_t asclen,unsigned char uuestr[],size_t &uuelen,UueOutMode mode=out_str);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
size_t GetUueStrDataLen(const unsigned char uuestr[]);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
DWORD UnUueStr(const unsigned char uuestr[],size_t uuelen,unsigned char ascstr[],size_t &asclen,UueOutMode &mode);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
private:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
UueOutMode FMode;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char * FID;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char * FileName;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
size_t IDlen;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
size_t namelen;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char * beginFlag;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char * endFlag;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
};
解码的那部分未贴出来,因为当输入的字符为非uue编码时有可能会溢出,打算先考虑一下如何判断输入的为非UUE编码,或者错误的编码.
实现:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*------------------------------------------------*
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* *
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* Uue字符编码 *
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 2007-3-16 *
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* *
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
*------------------------------------------------*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
CUuencode::CUuencode(/**//*UueOutMode Mode=out_str*/)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
beginFlag=(unsigned char*)BEGIN_FLAG;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
endFlag= (unsigned char*)END_FLAG;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
void CUuencode::SetFileModeInf(unsigned char* filename,unsigned char* ID)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
FID=ID;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
FileName=filename;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
IDlen=_mbslen(FID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
namelen=_mbslen(filename);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(IDlen==0)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(FID,(unsigned char*)DEFAULT_ID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
IDlen=_mbslen(FID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(namelen==0)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(FileName,(unsigned char*)DEFAULT_ID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
namelen=_mbslen((unsigned char*)DEFAULT_FILE_NAME);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
CUuencode::~CUuencode()
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*Uuencode编码*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
chasc:未编码的二进制代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
chuue:编码过的Uue代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
void CUuencode::UueChar(unsigned char chasc[3],unsigned char chuue[4])
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
int i,k=2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char t=NULL;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
for(i=0;i<3;i++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+i)=*(chasc+i)>>k;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+i)|=t;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(*(chuue+i)==NULL)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+i)+=96;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+i)+=32;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
t=*(chasc+i)<<(8-k);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
t>>=2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
k+=2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+3)=*(chasc+2)&63;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(*(chuue+3)==NULL)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+3)+=96;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chuue+3)+=32;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*Uuencode解码*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/**//*
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
chuue:未解码的Uue代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
chasc:解码过的二进制代码
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
void CUuencode::unUueChar(unsigned char chuue[4],unsigned char chasc[3])
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
int i,k=2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char t=NULL;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(*chuue==96)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*chuue=NULL;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*chuue-=32;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
for(i=0;i<3;i++)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chasc+i)=*(chuue+i)<<k;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
k+=2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(*(chuue+i+1)==96) *(chuue+i+1)=NULL;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
else *(chuue+i+1)-=32;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
t=*(chuue+i+1)>>8-k;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*(chasc+i)|=t;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
//编码一个ASC串为Uue串,先传入NULL到uuestr,返回uuelen,未包含'
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
DWORD CUuencode::UueStr(const unsigned char ascstr[],size_t asclen,unsigned char uuestr[],size_t &uuelen,UueOutMode mode)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
size_t asclen_3=asclen+((asclen%3)?(3-(asclen%3)):0);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
size_t require=asclen_3;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(uuestr==NULL)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(mode==out_str)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
/**//* |----DATA---|---------Line Header +' '-------|*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuelen= require*4/3+(asclen/45)*2+((asclen%45)?1:0)*2;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
else
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
/**//* |----DATA---|---------Line Header +' '-------|---"BEGIN "----|------|-' '-|-------|-'/n'-|---"' END"---*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuelen= require*4/3+(asclen/45)*2+((asclen%45)?1:0)*2+_mbslen(beginFlag)+IDlen+ 1 +namelen+ 1 +_mbslen(endFlag);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
return 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char *temp=new unsigned char[asclen_3];
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//memory alloc fail
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(temp==NULL) return GetLastError();
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char *pdel=temp;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
unsigned char *puue=uuestr;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
memset(temp,0,asclen_3);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
memcpy(temp,ascstr,asclen);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(mode==out_file)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(uuestr,beginFlag);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuestr+=_mbslen(beginFlag);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(uuestr,FID);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuestr+=IDlen;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*uuestr++=' ';
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(uuestr,FileName);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuestr+=namelen;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*uuestr++=' ';
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
for(size_t i=0;i<asclen_3;)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(0==i%45)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*uuestr++=0x20+((asclen_3-i>=45)?45:(asclen_3-i));
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
UueChar(temp,uuestr);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
temp+=3;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
uuestr+=4;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(!((i+3)%45))
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*uuestr++=' ';
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
i+=3;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
*uuestr++=' ';
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
if(mode==out_file)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
_mbscpy(uuestr,endFlag);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//*uuestr='
写了一个UUE编码的类.相关推荐
- 自己用的框架写了一个PHP模版解析类
<?php if(!defined('IS_HEARTPHP')) exit('Access Denied'); /** * template.class.php 模板解析类 * * @copy ...
- java五子棋的算法_初学java,写了一个五子棋算法的类,请大家多多指教.
//五子棋算法类, /*看了一下QQ上面五子棋,直到有五子连珠才给出谁胜 *俺也这么做 *开始分析,先只考虑实现,不考虑效益,然后再对算法进行优化 *========================= ...
- 用C#写的一个注册表操作类
该类实现了注册表读取.写入.删除.查找等功能. 实现代码: using System; using System.Collections.Generic; using System.Linq; usi ...
- B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器
B编码与BT种子文件分析,以及模仿json-cpp写一个B编码解析器 1.什么是B编码 2.B编码格式 3.种子文件结构 3.1.主文件结构 3.2.info结构 4.简单的例子了解一下种子文件和B编 ...
- setpagecache.php_一个PHP页面缓存类 修改后可作Emlog缓存插件
最近,细细看了许多关于缓存的文章,有程序级的.非程序级的.内存缓存.文件缓存等等,感觉获益良多,于是为巩固知识,强化记忆,自己也多动动手去写写关于缓存面的程序. 这是自己写的一个PHP文件缓存类,此类 ...
- 一个 VBS 写的 Base64 + UUE 编码程序源码,可自定义编码表
以下内容仅作为 http://topic.csdn.net/u/20090707/00/0b3b4c31-8cef-4bd2-817e-4a2a445e8b87.html?seed=178767877 ...
- 利用反射自己写的一个ModelHelper类
开发中 很多人都会使用BLL Model这种开发,我也是,虽然现在有很多的自动生成工具,能在几秒内生成cs的模板,但我个人还不是很喜欢,我还是喜欢自己一个一个去写,这样更能了解自己的代码. 不过手动编 ...
- java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...
0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...
- 无聊写的一个PHP Socket类
无聊写的一个PHP Socket类,功能还比较简单,不完善. <?php /** *//*** * @project:socket类 * @license:GPL ...
最新文章
- ESXI使用记录---安装vSphere(VCSA)
- .NET中可空值类型实现原理
- @SuppressWarnings注解用法
- html hover图片效果,CSS第9款:Imagehover.css 纯CSS打造的图片悬停效果
- 记录一下LabelImg实际绘制框颜色的位置
- 《leetcode》longest-substring-without-repeating
- 牛客网 【每日一题】7月24日题目精讲—小A的柱状图
- Go设计模式之Factory
- 根据模板提示,加入元素,修改CSS
- 更快更强!华为大数据新版本让Hive提速50%!
- 古典密码(单表密码,维吉尼亚密码,普莱费尔密码,一次一密)
- Java-PTA 无聊的小明来数1
- Numpy中的数组、行/列向量及其之间的转化
- 智能家居平台软件测试,智能家居 | 智能家居管理系统测试具体都有哪些流程?...
- 题目:学生成绩管理系统设计(C语言程序设计期末作业)
- Delphi多线程编程基础入门
- 李子的猜数游戏!!!!!!!!!!!!!!!!(δ版)
- 【三】傅里叶变换——1
- 【直播回顾】阿里高级开发工程师红文:领域驱动设计实战--如何应对复杂业务...
- 员工满意度调查问卷----团队管理应该关注员工的这些事宜
热门文章
- u盘损坏无法读取怎么恢复数据?
- 浙江省机电工程师职称评审条件及流程
- 华为OD机试 - 考古学家(Python)| 代码编写思路+核心知识点
- [YOLOv7]基于YOLOv7的食物卡路里检测系统(源码&部署教程&数据集)
- simulink仿真 短路分析 含三相直流逆差的电力系统三相短路仿真,程序完整
- python爬取饿了么外卖商家数据_用python抓取饿了么无证店铺
- 外贸人SOHO怎么收汇?2020最新外贸B2B收款结汇方法详解!
- RKE部署Kubernetes集群
- SQL查询日志 查看数据库历史查询记录的方法
- 小米笔记本指纹识别失效解决方法