⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base64coder.h

📁 在嵌入式linux下发送邮件的SMTP客户端程序。基于mips平台可直接使用
💻 H
字号:

#ifndef __BASE64CODER_H__
#define __BASE64CODER_H__
#include "Const.h"

/////////////////////////////// 类定义///////////////////////////////////////

typedef struct 
{
	unsigned char	nData[4];
	int				nSize;		
} TempBucket;
	
typedef struct  
{

	//变量
	unsigned char*	m_pDBuffer;					//保存解码数据
	unsigned char*	m_pEBuffer;					//保存解码数据
	int				m_nDBufLen;					//解码数据的长度
	int				m_nEBufLen;					//编码数据的长度
	int				m_nDDataLen;				
	int				m_nEDataLen;				
	char			m_DecodeTable[256];			
	BOOL			m_Init;	
	
} Base64Coder;

	//定义对外接口函数
	void	 Clear();
	
	//初始化和释放函数函数
	void	 Base64CoderInit(Base64Coder *BaseCoder);
	void	 Base64CoderRealse(Base64Coder *BaseCoder);

	//对指定的信息进行编码
	void	 EncodeBase(Base64Coder *BaseCoder, const unsigned char*, int);
	void	 Encode(Base64Coder *BaseCoder, const char* sMessage);

	//对指定的信息进行解码
	void	 DecodeBase(Base64Coder *BaseCoder, const unsigned char*, int);	
	void	 Decode(Base64Coder *BaseCoder, const char*  sMessage);

	//获取编码后的信息
	char*	 EncodedMessage(Base64Coder BaseCoder); 
	long	 EncodedMessageSize(Base64Coder BaseCoder); 

	//获取解码后的信息
	char*	 DecodedMessage(Base64Coder BaseCoder);
	long	 DecodedMessageSize(Base64Coder BaseCoder);
	
	
	//初始化编解码原始数据
	void	 AllocEncode(Base64Coder *BaseCoder, int nSize);
	void	 AllocDecode(Base64Coder *BaseCoder, int nSize);

	//根据传入的数据填充编解码缓冲区
	void	 SetEncodeBuffer(Base64Coder *BaseCoder, const unsigned char* pBuffer, int nBufLen);
	void	 SetDecodeBuffer(Base64Coder *BaseCoder, const unsigned char* pBuffer, int nBufLen);
	void	_EncodeToBuffer(TempBucket* Decode, unsigned char* pBuffer);
	long	_DecodeToBuffer(TempBucket* Decode, unsigned char* pBuffer);
	void	_EncodeRaw(TempBucket* Data, const TempBucket* Decode);
	void	_DecodeRaw(TempBucket* Data, const TempBucket* Decode);

	//判断数据是否是合法的字符
	BOOL	_IsBadMimeChar(unsigned char );
	void	_Init(Base64Coder *BaseCoder);

#endif //__BASE64CODER_H__

⌨️ 快捷键说明

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