base64.h

来自「Base64 decoder for Visual C++, 所谓的Base64」· C头文件 代码 · 共 56 行

H
56
字号
#if !defined(AFX_BASE64_H__FE15588E_9214_11D4_8338_006008AFAB7E__INCLUDED_)
#define AFX_BASE64_H__FE15588E_9214_11D4_8338_006008AFAB7E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Base64.h : header file
//
typedef unsigned char uchar;
/////////////////////////////////////////////////////////////////////////////
// CBase64 Class
class CBase64Enc 
{
private:
	HFILE	m_hfile;
	uchar	m_uchBuffer[51];	// Must be multiple of 3.
public:
	enum { RESULT_OK, RESULT_ERROR, RESULT_DONE, RESULT_SMALLBUFFER };

	CBase64Enc() : m_hfile(NULL) {};
	virtual ~CBase64Enc() { if (m_hfile != NULL) _lclose(m_hfile); };

	int OpenFile(char * pszFileName);
	int EncodeLine(char * pszLine, int nLen);
};
/////////////////////////////////////////////////////////////////////////////
class CBase64Dec 
{
private:
	//HFILE	m_hfile;
	HANDLE	m_hfile;
	uchar	m_uchStoredChars[4];
	int		m_iChars;
public:
	enum { RESULT_OK = 0, RESULT_ERROR = -1 };

	CBase64Dec() : m_hfile(NULL), m_iChars(0) {};
	virtual ~CBase64Dec() 
	{ 
		if (m_hfile != NULL) 
		//_lclose(m_hfile); 
		CloseHandle(m_hfile);
	};

	int OpenFile(char * pszFileName);
	int DecodeLine(char * pszLine, int nLineLen);
	int DecodeLine(char * pszLine, int nLineLen, uchar * uchBuffer, int nBufferLen);
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BASE64_H__FE15588E_9214_11D4_8338_006008AFAB7E__INCLUDED_)

⌨️ 快捷键说明

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