📄 mailcode.h
字号:
// MailCode.h: interface for the CMailCode class.
//作者:高越 邮箱:darkprince@v.cn
//QQ:1738387 (本人只接受技术探讨以及软件项目合作事宜,其他误扰)
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAILCODE_H__BB118527_C160_4F30_8E4B_F3722EBC0B30__INCLUDED_)
#define AFX_MAILCODE_H__BB118527_C160_4F30_8E4B_F3722EBC0B30__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMailCode
{
public:
CMailCode();
virtual ~CMailCode();
public:
static unsigned int m_LineWidth; //指定编码后每行的长度,缺省是76
static const char BASE64_ENCODE_TABLE[64]; //Base64编码表
static const unsigned int BASE64_DECODE_TABLE[256]; //Base64解码表
static const unsigned char QUOTED_ENCODE_TABLE[256]; //Quoted编码表
private:
static unsigned char DecToHex(unsigned char B); //为Quoted编码操作进行字符转换
static unsigned char HexToDec(unsigned char C); //为Quoted解码操作进行字符转换
public:
static int Base64EncodeSize(int iSize); //根据文件实际长度获取编码Base64后的长度
static int Base64DecodeSize(int iSize); //根据已编码文件长度获取Base64的解码长度
static int UUEncodeSize(int iSize); //根据文件实际长度获取UUCode编码后的长度
static int UUDecodeSize(int iSize); //根据已编码文件长度获取UUCode解码后的长度
static int QuotedEncodeSize(int iSize); //根据实际文件的长度获取Quoted编码
/*
* 对一段Buffer进行Base64编码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
*
* 注: 输出Buffer的长度可以使用 Base64EncodeSize(int) 方法取得
*/
static int base64_encode(char *pSrc, unsigned int nSize, char *pDest);
/*
* 对一段Buffer进行Base64解码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
* return 解码后的实际长度
*
* 注: 输出Buffer的长度可以使用 Base64DecodeSize(int) 方法取得
*/
static int base64_decode(char *pSrc, unsigned int nSize, char *pDest);
/*
* 对一段Buffer进行UUCODE编码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
*
* 注: 输出Buffer的长度可以使用 UUEncodeSize(int) 方法取得
*/
static int UU_encode(char *pSrc, unsigned int nSize, char *pDest);
/*
* 对一段Buffer进行UUCODE解码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
*
* 注: 输出Buffer的长度可以使用 UUDecodeSize(int) 方法取得
*/
static int UU_decode(char *pSrc, unsigned int nSize, char *pDest);
/*
* 对一段Buffer进行Quoted-Printble编码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
* return 编码后的实际长度
*
* 注: 输出Buffer的长度可以使用 QuotedDecodeSize(int) 方法取得
*/
static int quoted_encode(char *pSrc, unsigned int nSize, char *pDest);
/*
* 对一段Buffer进行Quoted-Printble解码
*
* pSrc 输入Buffer
* nSize Buffer长度
* pDest 输出缓冲
* return 解码后的实际长度
*
* 注:这里没有提供计算解码长度的方法 直接使用输入Buffer作输出Buffer就可以了
*/
static int quoted_decode(char *pSrc, unsigned int nSize, char *pDest);
static int gb2312_decode(char *pSrc, unsigned int nSize, char *pDest);
};
#endif // !defined(AFX_MAILCODE_H__BB118527_C160_4F30_8E4B_F3722EBC0B30__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -