www.pudn.com > 《运用设计模式设计MIME编码类》配套代码.zip > CBase64Algo.h
#ifndef _H_CBase64Algo_ #define _H_CBase64Algo_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "CMimeAlgo.h" #includeclass CBase64Algo : public CMimeAlgo { //con de public: CBase64Algo(); ~CBase64Algo(); //overrided public: virtual void Encode( unsigned char ** outBuf, int & outBufLen, unsigned char * inSrcBuf, int inSrcLen ); virtual void Decode( unsigned char ** outBuf, int & outBufLen, unsigned char * inSrcBuf, int inSrcLen ); //implement protected: unsigned char mArr[64]; //to help find char from xxxxxx CMap mMap; //to help find xxxxxx from char void EncodeEvery3Byte(unsigned char * outBuf, const unsigned char * const inBuf, int inRest = 0); unsigned char Get6Bits(const unsigned char * const inBase, int inOffset); void DecodeEvery4Byte(unsigned char * outBuf, const unsigned char * const inBuf); void Set6Bits(unsigned char * outBuf, int inOffset, unsigned char in6Bits); }; #endif