資源簡介
開發平臺:VC6.0 MFC
開發語言:C++
內容:包含源程序和源代碼以及相關報告。

代碼片段和文件信息
//?base64.cpp:?implementation?of?the?base64?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“SMTP.h“
#include?“base64.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
string?base64::Encode(const?unsigned?char?*str?int?length)
{
//編碼表
const?char?EncodeTable[]=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
//返回值
string?strEncode;
unsigned?char?Tmp[3]={0};
int?LineLength=0L=length/3;
for(int?i=0;i {
????????Tmp[0]?=?*str++;
????????Tmp[1]?=?*str++;
????????Tmp[2]?=?*str++;
????????strEncode+=?EncodeTable[Tmp[0]?>>?2];
????????strEncode+=?EncodeTable[((Tmp[0]?<4)?|?(Tmp[1]?>>?4))?&?0x3F];
????????strEncode+=?EncodeTable[((Tmp[1]?<2)?|?(Tmp[2]?>>?6))?&?0x3F];
????????strEncode+=?EncodeTable[Tmp[2]?&?0x3F];
if(LineLength+=4LineLength==76)?
{
strEncode+=“\r\n“;
LineLength=0;
}
}
//對剩余數據進行編碼
int?Mod=length?%?3;
if(Mod==1)
{
????????Tmp[0]?=?*str++;
????????strEncode+=?EncodeTable[(Tmp[0]?&?0xFC)?>>?2];// 取前6位,最高位補2個0
????????strEncode+=?EncodeTable[((Tmp[0]?&?0x03)?<4)];//取后2位,補6個0
????????strEncode+=?“==“;
}
else?if(Mod==2)
{
Tmp[0]?=?*str++;
Tmp[1]?=?*str++;
strEncode+=?EncodeTable[(Tmp[0]?&?0xFC)?>>?2];
strEncode+=?EncodeTable[((Tmp[0]?&?0x03)?<4)?|?((Tmp[1]?&?0xF0)?>>?4)];
strEncode+=?EncodeTable[((Tmp[1]?&?0x0F)?<2)];
strEncode+=?“=“;
}
return?strEncode;
}
string?base64::Decode(const?char?*str?int?length?int?&outlength)
{
//解碼表
const?char?DecodeTable[]?=
{
0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
62?//?‘+‘
0?0?0
63?//?‘/‘
52?53?54?55?56?57?58?59?60?61?//?‘0‘-‘9‘
0?0?0?0?0?0?0
0?1?2?3?4?5?6?7?8?9?10?11?12
13?14?15?16?17?18?19?20?21?22?23?24?25?//?‘A‘-‘Z‘
0?0?0?0?0?0
26?27?28?29?30?31?32?33?34?35?36?37?38
39?40?41?42?43?44?45?46?47?48?49?50?51?//?‘a‘-‘z‘
};
//返回值
string?strDecode;
????int?nValue;
????int?i=?0;
?
????while?(i?????{
????????if?(*str?!=?‘\r‘?&&?*str!=‘\n‘)
????????{
????????????nValue?=?DecodeTable[*str++]?<18;
????????????nValue?+=?DecodeTable[*str++]?<12; //拼接兩個,有效位為24-19,18-13
strDecode+=(nValue?&?0x00FF0000)?>>?16;
????????????outlength++;
?
????????????if?(*str?!=?‘=‘)
????????????{
????????????????nValue?+=?DecodeTable[*str++]?<6;
strDecode+=(nValue?&?0x0000FF00)?>>?8;
????????????????outlength++;
?
????????????????if?(*str?!=?‘=‘)
????????????????{
????????????????????nValue?+=?DecodeTable[*str++];
strDecode+=nValue?&?0x000
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????839734??2015-12-05?21:54??郵件客戶端.exe
?????文件???????3277??2015-12-05?17:48??源程序\ba
?????文件????????609??2015-12-01?09:27??源程序\ba
?????文件???????3847??2015-12-04?22:12??源程序\BLACK.cpp
?????文件???????1239??2015-12-04?21:50??源程序\BLACK.h
?????文件???????2011??2015-12-05?09:07??源程序\CCONTENT.cpp
?????文件???????1217??2015-12-05?09:06??源程序\CCONTENT.h
?????文件??????21919??2015-12-05?17:48??源程序\Debug\ba
?????文件?????283421??2015-12-05?17:48??源程序\Debug\ba
?????文件??????38421??2015-12-04?22:14??源程序\Debug\BLACK.obj
?????文件?????298835??2015-12-04?22:14??源程序\Debug\BLACK.sbr
?????文件??????26899??2015-12-05?19:44??源程序\Debug\CCONTENT.obj
?????文件?????286377??2015-12-05?19:44??源程序\Debug\CCONTENT.sbr
?????文件??????58441??2015-12-05?21:52??源程序\Debug\POP3.obj
?????文件?????288804??2015-12-05?21:52??源程序\Debug\POP3.sbr
?????文件????4228096??2015-12-02?19:35??源程序\Debug\SMTP.bsc
?????文件?????839734??2015-12-05?21:54??源程序\Debug\SMTP.exe
?????文件?????684648??2015-12-05?21:54??源程序\Debug\SMTP.ilk
?????文件??????89852??2015-12-05?21:52??源程序\Debug\SMTP.obj
?????文件????6875660??2015-12-04?11:09??源程序\Debug\SMTP.pch
?????文件?????656384??2015-12-05?21:54??源程序\Debug\SMTP.pdb
?????文件?????549604??2015-12-05?09:00??源程序\Debug\SMTP.res
?????文件?????294020??2015-12-05?21:52??源程序\Debug\SMTP.sbr
?????文件?????132463??2015-12-05?21:54??源程序\Debug\SMTPDlg.obj
?????文件?????312092??2015-12-05?21:54??源程序\Debug\SMTPDlg.sbr
?????文件?????105363??2015-12-04?11:09??源程序\Debug\StdAfx.obj
?????文件????1371800??2015-12-04?11:09??源程序\Debug\StdAfx.sbr
?????文件?????328704??2015-12-05?21:54??源程序\Debug\vc60.idb
?????文件?????479232??2015-12-05?21:54??源程序\Debug\vc60.pdb
?????文件??????38417??2015-12-04?22:14??源程序\Debug\WHITE.obj
............此處省略33個文件信息
評論
共有 條評論