xbase64.h

来自「BCB的学习资料」· C头文件 代码 · 共 40 行

H
40
字号
//---------------------------------------------------------------------------

#ifndef XBase64H
#define XBase64H
//---------------------------------------------------------------------------
#ifndef XByteBufferH
#include <XByteBuffer.h>
#endif
namespace zdhsoft
{

class XBase64
{
public:
    static void EncodeBase64(const void * srcData,int DataCount,XByteBuffer & OutBuffer);
    static void EncodeBase64(XByteBuffer & InBuffer,XByteBuffer & OutBuffer);
    static void EncodeBase64(const AnsiString & srcString,XByteBuffer & OutBuffer);
    static AnsiString EncodeBase64(XByteBuffer & InBuffer);
    static AnsiString EncodeBase64(const void * srcData,int DataCount);
    static AnsiString EncodeBase64(const AnsiString & srcString);
    static void DecodeBase64(const void * srcData,int DataCount,XByteBuffer & OutBuffer,bool bBreakByError = true);
    static void DecodeBase64(const AnsiString & srcData,XByteBuffer & OutBuffer,bool bBreakByError = true);
    static void DecodeBase64(const XByteBuffer & srcData,XByteBuffer & OutBuffer,bool bBreakByError = true);
    static AnsiString DecodeBase64(const void * srcData,int DataCount,bool bBreakByError = true);
    static AnsiString DecodeBase64(const AnsiString & srcData,bool bBreakByError = true);
    static AnsiString DecodeBase64(const XByteBuffer & srcData,bool bBreakByError = true);

private:
    static void __EncodeBase64(const XByte * src,char dest[4],int iUse = 3);
    static int  __DecodeBase64(const XByte * src,XByte * dest,int iUse = 4);
    static int  __DecodeBase64Break(const XByte * src,XByte * dest);
private:
    const static char m_EnBase64Tab[64];
    const static char m_Base64FillChar;
    const static XByte m_DeBase64Tab[256];
};

};
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?